jQuery_練習一個前端“換一換”功能

          需求的極簡概要:實現(xiàn)“換一換”按鈕的功能,點擊之后,換另一批對應(yīng)的品牌

          剛開始的時候考慮使用ajax請求數(shù)據(jù),之后通過js在頁面上填充到指定位置,但是真是懶得給這個ajax請求單獨再配一個請求映射了,干脆直接在后臺把需要的內(nèi)容全部拼成JSON字符串,直接在前臺解析,分頁。

          頁面比較簡單,就不上html代碼了,大概思路就是:兩個“換一換”按鈕分別對應(yīng)兩套數(shù)據(jù),共用一個分頁的方法,分別傳入各自的頁數(shù),顯示對應(yīng)頁數(shù)的內(nèi)容。當然了,實現(xiàn)“換一換”的方法多種多樣,我在此只是記錄一下自己的思路,歡迎批評指教,拍磚輕拍,愛護新人,3Q。

          節(jié)約口水,直接上代碼~

           1 $(function(){
           2     
           3         //“換一換”功能家居,雜貨點擊計數(shù)器
           4         var jiajubrandCount = 0;
           5         var zahuobrandCount = 0;
           6         
           7         //初始化家居品牌內(nèi)容
           8         jiajubrandCount = ClickToChangeBrand("jiajubrand","jiajubrandval",jiajubrandCount);
           9         //初始化雜貨品牌內(nèi)容
          10         zahuobrandCount = ClickToChangeBrand("zahuobrand","zahuobrandval",zahuobrandCount);
          11         
          12         //家居換一換點擊
          13         $("#jiajuBrandChange").click(function(){
          14             jiajubrandCount = ClickToChangeBrand("jiajubrand","jiajubrandval",jiajubrandCount);
          15         });
          16         
          17         //雜貨換一換點擊
          18         $("#zahuoBrandChange").click(function(){
          19             zahuobrandCount = ClickToChangeBrand("zahuobrand","zahuobrandval",zahuobrandCount);
          20         });
          21 
          22         //品牌“換一換”功能
          23         //container:目標容器
          24         //valSrc:值存放的容器    
          25         //brandCount:計數(shù)
          26         function ClickToChangeBrand(container,valSrc,brandCount){
          27             
          28             //$("#" + container).empty();//清空既存內(nèi)容
          29             var s = $("#" + valSrc).val(); //取得品牌所有數(shù)據(jù)
          30             var obj = $.parseJSON(s.toString());//轉(zhuǎn)換為JSON
          31             var totalCount = obj.length;//總記錄數(shù)
          32             var perPageCount = 20;//預(yù)定每頁顯示數(shù)
          33             var pageCount = 0;//總頁數(shù)
          34             var actualPerPageCount = 0;//實際每頁的顯示數(shù)
          35             var strTotal = "";//待打印內(nèi)容的緩沖變量
          36             
          37             var tempRs = totalCount%perPageCount;//根據(jù)實際品牌數(shù)計算總頁數(shù)
          38             if(tempRs!=0){
          39                 pageCount = parseInt(totalCount/perPageCount) + 1;
          40             }
          41             else{
          42                 pageCount = parseInt(totalCount/perPageCount);
          43             }
          44             
          45             //取實際每次需要顯示的記錄數(shù),若最后一頁不足一頁的
          46             if(brandCount * perPageCount + perPageCount > totalCount){
          47                 actualPerPageCount = totalCount - brandCount * perPageCount;
          48             }
          49             else{
          50                 actualPerPageCount = perPageCount;
          51             }
          52             
          53        /* alert("計數(shù)器:"+brandCount);
          54             alert("實際每頁數(shù):"+actualPerPageCount);
          55             alert("預(yù)定每頁數(shù):"+perPageCount);
          56             alert("總頁數(shù):"+ pageCount); */
          57             
          58             //獲取當前頁的內(nèi)容
          59             for(i = brandCount * perPageCount;i < brandCount * perPageCount + actualPerPageCount;i++){
          60                 //obj[i].title為顯示標題,obj[i].name為該品牌的類目id
          61                 strTotal += "<a href='' target='_blank'>" + obj[i].title + "</a>";
          62             }
          63             
          64             //計數(shù)器大于等于頁數(shù)的時候歸零
          65             brandCount++;
          66             if(brandCount>=pageCount){
          67                 brandCount = 0;
          68             }
          69             
          70             //淡出
          71             $("#" + container).empty().append(strTotal).hide().stop(true,true).fadeIn("slow");
          72             
          73             return brandCount;
          74         }
          75     });

          posted on 2014-11-25 21:09 都較瘦 閱讀(3674) 評論(4)  編輯  收藏 所屬分類: Jquery案例積累

          評論

          # re: jQuery_練習一個前端“換一換”功能 2015-04-22 09:56 戴俊杰

          我想做一個像京東的商品換一換  回復(fù)  更多評論   

          # re: jQuery_練習一個前端“換一換”功能 2015-05-10 10:39 都較瘦

          @戴俊杰
          給個鏈接吧,看看是什么樣的  回復(fù)  更多評論   

          # re: jQuery_練習一個前端“換一換”功能[未登錄] 2016-05-23 11:17

          能否給個完整的呢  回復(fù)  更多評論   

          # re: jQuery_練習一個前端“換一換”功能 2016-05-30 18:22 都較瘦

          @王
          啊,還有什么需要補充的嗎  回復(fù)  更多評論   

          <2016年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計

          公告

          博客定位:囿于目前的水平,博客定位在記錄自己的學(xué)習心得和隨手的練習

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 溆浦县| 增城市| 闸北区| 红桥区| 高台县| 安塞县| 齐河县| 博野县| 十堰市| 辽源市| 平利县| 丰镇市| 潮州市| 元朗区| 壤塘县| 延川县| 新闻| 南康市| 安义县| 南京市| 永新县| 泰州市| 万荣县| 扎赉特旗| 丹东市| 汾西县| 乡城县| 射阳县| 洛浦县| 郴州市| 苏尼特左旗| 宁津县| 彭水| 阳山县| 靖边县| 舞钢市| 湾仔区| 启东市| 璧山县| 峨山| 沙湾县|