【发布时间】:2017-10-06 21:02:21
【问题描述】:
if(window.location.pathname == '/'){
var direc; //swipe direction var
function detectswipe(el,func) {
swipe_det = new Object();
swipe_det.sX = 0; swipe_det.sY = 0; swipe_det.eX = 0; swipe_det.eY = 0;
var min_x = 40; //min x swipe for horizontal swipe
var max_y = 60; //max y difference for horizontal swipe
direc = "";
ele = document.getElementById(el);
ele.addEventListener('touchstart',function(e){
var t = e.touches[0];
swipe_det.sX = t.screenX;
swipe_det.sY = t.screenY;
},false);
ele.addEventListener('touchmove',function(e){
e.preventDefault();
var t = e.touches[0];
swipe_det.eX = t.screenX;
swipe_det.eY = t.screenY;
},false);
ele.addEventListener('touchend',function(e){
//horizontal detection
if ((((swipe_det.eX - min_x > swipe_det.sX) || (swipe_det.eX + min_x < swipe_det.sX)) && ((swipe_det.eY < swipe_det.sY + max_y) && (swipe_det.sY > swipe_det.eY - max_y) && (swipe_det.eX > 0)))) {
if(swipe_det.eX > swipe_det.sX) direc = "r";
else direc = "l";
}
if (direc != "") {
if(typeof func == 'function') func(el,direc);
}
direc = "";
swipe_det.sX = 0; swipe_det.sY = 0; swipe_det.eX = 0; swipe_det.eY = 0;
},false);
}
jQuery(document).ready(function ($) {
var timer = setInterval(function () {
moveRight();
}, 5500); //keeps the slideshow moving
使用此功能滑动时,我无法让页面向上或向下滚动。它应该是左右滑动检测。当它不听触摸/滑动时,它显然仍然滚动。任何帮助将不胜感激!
【问题讨论】:
-
我应该提到,只有当我触摸所选元素时,我才能通过滑动来滚动。任何其他地方都可以正常工作。
标签: javascript jquery