移动端怎么用JS判断是手势是向上滑动还是向下滑动

JavaScript024

移动端怎么用JS判断是手势是向上滑动还是向下滑动,第1张

var divTwo = $('.divTwo')

//1.禁用div的滚轮事件

$('.divTwo').mousewheel(function (e) {

return false

})

//2.如果滚动条到底底部的时候 禁用window的滚轮滚动

//3.判断滚动的方向

divTwo.mousewheel(function (e, delta) {

var decoration = delta > 0 ? 'Up' : 'down'

$('.divFixed').text(decoration)

var scrollTop = divTwo.scrollTop()

var scrollHegiht = divTwo[0].scrollHeight

var height = divTwo.height()

//滚动条 到底部且 滚轮向下滚动

if (scrollTop + height >= scrollHegiht && delta < 0) {

e.preventDefault()

}

//滚动条 到顶部 且滚轮向上

else if (scrollTop == 0 && delta > 0) {

e.preventDefault()

}

})

$(document).mousewheel(function (e, delta) {

$('.divFixed').text(delta)

})

有一个mousewheel.js插件可以实现你说的功能。这是你需要的判断向上或者向下滚动的代码。希望对你有帮助,或者你直接百度一下mousewheel看一下具体的代码。

移动端推荐使用Hammer.js,很多手势调用。

多点触控插件Hammer.js,是一个开源的,轻量级的javascript库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件。

还支持jQuery插件的形式调用

<span class="tag" style="color: rgb(0, 0, 128)"><<span class="title">script src="http://eightmedia.github.com/hammer.js/jquery.hammer.js"></script>span>

$("#element")

.hammer({

// 对DOM进行一些初始化,这里可以加入一些参数

})

.bind("tap", function(ev) {

console.log(ev)

})