我有一个使用 jquery ui 滑块插件构建的垂直滑块。
当鼠标悬停在滑块上时,我希望能够用鼠标滚轮上下滚动滑块。
由于滑块不是可滚动的对象,它不响应该.scroll
方法。
通过在窗口滚动时检查鼠标是否在滑块上,我找到了一种解决方法。通过使用这种方法,我有两个问题:
1-即使我使用event.preventDefault()
窗口仍然滚动......
2-如果窗口一直向上滚动,即使它不在第一个位置,滑块也不能再向上滚动。
var lastScrollTop = 0;
$(window).scroll(function (e) {
if (mouseSlider) {
e.preventDefault(); //Doesn't stop window from scrolling
var st = $(this).scrollTop();
if (st > lastScrollTop) {
$('#next-day').click();
} else {
$('#prev-day').click();
}
lastScrollTop = st;
return false;
}
});
这是示例:http: //jsfiddle.net/4xCyk/1/
为什么event.preventDefault()
运行正常?即使滚动条是顶部,有没有办法启用滚动?
或者有更简单的方法吗?