本文實例為大家分享了微信小程序實現手勢滑動的具體代碼,供大家參考,具體內容如下
wxml:
<view bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" > </view>
index.js:
var touchStartX = 0;//觸摸時的原點 var touchStartY = 0;//觸摸時的原點 var time = 0;// 時間記錄,用于滑動時且時間小于1s則執行左右滑動 var interval = "";// 記錄/清理時間記錄 var touchMoveX = 0; // x軸方向移動的距離 var touchMoveY = 0; // y軸方向移動的距離 Page({ // 觸摸開始事件 touchStart: function (e) { touchStartX = e.touches[0].pageX; // 獲取觸摸時的原點 touchStartY = e.touches[0].pageY; // 獲取觸摸時的原點 // 使用js計時器記錄時間 interval = setInterval(function () { time++; }, 100); }, // 觸摸移動事件 touchMove: function (e) { touchMoveX = e.touches[0].pageX; touchMoveY = e.touches[0].pageY; }, // 觸摸結束事件 touchEnd: function (e) { var moveX = touchMoveX - touchStartX var moveY = touchMoveY - touchStartY if (Math.sign(moveX) == -1) { moveX = moveX * -1 } if (Math.sign(moveY) == -1) { moveY = moveY * -1 } if (moveX <= moveY) {// 上下 // 向上滑動 if (touchMoveY - touchStartY <= -30 && time < 10) { console.log("向上滑動") } // 向下滑動 if (touchMoveY - touchStartY >= 30 && time < 10) { console.log('向下滑動 '); } }else {// 左右 // 向左滑動 if (touchMoveX - touchStartX <= -30 && time < 10) { console.log("左滑頁面") } // 向右滑動 if (touchMoveX - touchStartX >= 30 && time < 10) { console.log('向右滑動'); } } clearInterval(interval); // 清除setInterval time = 0; }, })
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。