91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

微信小程序如何切換當前頁面

小新
850
2021-03-19 19:19:21
欄目: 云計算

微信小程序如何切換當前頁面

微信小程序通過左右滑動切換當前頁面,實現方法:

在wxml文件中綁定事件,代碼:

<view class="container" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd">

  // do something

</view>

在js文件中處理左右滑動邏輯,代碼:

var touchDot = 0;//觸摸時的原點

var time = 0;//  時間記錄,用于滑動時且時間小于1s則執行左右滑動

var interval = "";// 記錄/清理 時間記錄

var nth = 0;// 設置活動菜單的index

var nthMax = 5;//活動菜單的最大個數

var tmpFlag = true;// 判斷左右華東超出菜單最大值時不再執行滑動事件

// 觸摸開始事件

touchStart:function(e){ 

   touchDot = e.touches[0].pageX; // 獲取觸摸時的原點

   // 使用js計時器記錄時間    

   interval = setInterval(function(){

       time++;

   },100); 

},

// 觸摸移動事件

touchMove:function(e){ 

   var touchMove = e.touches[0].pageX;

   console.log("touchMove:"+touchMove+" touchDot:"+touchDot+" diff:"+(touchMove - touchDot));

   // 向左滑動   

   if(touchMove - touchDot <= -40 && time < 10){

       if(tmpFlag && nth < nthMax){ //每次移動中且滑動時不超過最大值 只執行一次

           var tmp = this.data.menu.map(function (arr, index) {

               tmpFlag = false;

               if(arr.active){ // 當前的狀態更改

                   nth = index;

                   ++nth;

                   arr.active = nth > nthMax ? true : false;

               }

               if(nth == index){ // 下一個的狀態更改

                   arr.active = true;

                   name = arr.value;

               }

               return arr;

            })

           this.getNews(name); // 獲取新聞列表

           this.setData({menu : tmp}); // 更新菜單

       }

   }

   // 向右滑動

   if(touchMove - touchDot >= 40 && time < 10){

       if(tmpFlag && nth > 0){

           nth = --nth < 0 ? 0 : nth;

           var tmp = this.data.menu.map(function (arr, index) {

               tmpFlag = false;

               arr.active = false;

               // 上一個的狀態更改

               if(nth == index){

                   arr.active = true;

                   name = arr.value;

               }

               return arr;

           })

           this.getNews(name); // 獲取新聞列表

           this.setData({menu : tmp}); // 更新菜單

       }

   }

   // touchDot = touchMove; //每移動一次把上一次的點作為原點(好像沒啥用)

},

 // 觸摸結束事件

touchEnd:function(e){

   clearInterval(interval); // 清除setInterval

   time = 0;

   tmpFlag = true; // 回復滑動事件

},


0
漯河市| 兰坪| 桑植县| 满城县| 文成县| 婺源县| 砚山县| 蕉岭县| 阜南县| 绥棱县| 北辰区| 肇庆市| 沙田区| 土默特右旗| 安化县| 迭部县| 曲沃县| 滨海县| 潮安县| 镇巴县| 定边县| 遵义市| 柞水县| 阿克苏市| 泗洪县| 龙南县| 洮南市| 勐海县| 北川| 高碑店市| 大兴区| 定日县| 习水县| 长岛县| 方山县| 丹凤县| 嘉兴市| 大英县| 临颍县| 青河县| 禹州市|