中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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

小新
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
彩票| 图们市| 巴彦县| 裕民县| 剑河县| 桐柏县| 尼木县| 都江堰市| 湘潭县| 海阳市| 开封市| 镇江市| 静海县| 金川县| 怀远县| 那坡县| 阿克陶县| 林口县| 仪征市| 元氏县| 报价| 陆丰市| 上饶县| 土默特左旗| 家居| 屯昌县| 云和县| 元江| 铜鼓县| 邯郸市| 吉水县| 彰化市| 仪征市| 武清区| 彰武县| 凤冈县| 博湖县| 新乐市| 临安市| 绥棱县| 浦城县|