主要用于手持式触控设备。
我正在使用jQuery库和Hammer.js来注册触摸事件。
我有2个元素,一个侧边栏和一个内容。内容位于菜单顶部,您可以在内容上滑动以显示侧边栏。
当您滑动内容时,我会应用overflow:hidden;
,只有在侧边栏上才可以垂直滚动。
现在尝试滚动内容无效,但我想将滚动事件转移到侧边栏。
因此,当有人试图滚动内容时,侧边栏会移动,相反?
现在这是我正在使用的功能:
jQuery(document).ready(function($){
var element = document.getElementById("wrapper");
var hammertime = Hammer(element, {
swipe_velocity: 0.1
}).on('swiperight',function(){
$(this).addClass('slidein');
}).on('swipeleft',function(){
$(this).removeClass('slidein');
});;
});
答案 0 :(得分:0)
这样做了,你必须使用hammer.js,抓住deltaY位置并在侧栏.scrollTop位置使用它。
jQuery(document).ready(function($){
var element = document.getElementById("wrapper");
var posX=0, posY=0;
var hammertime = Hammer(element, {
drag: true,
swipe_velocity: 0.1,
drag_block_vertical:true
}).on('swiperight',function(){
$(this).addClass('slidein');
}).on('swipeleft',function(){
$(this).removeClass('slidein');
}).on('drag',function(ev){
posX = ev.gesture.deltaX;
posY = ev.gesture.deltaY;
$('.snap-drawer').scrollTop(posY);
});
});