我基本上有以下http://jsfiddle.net/o0krp0yf/如果我用鼠标滚轮滚动,停止它(我想滚动幻灯片)。但我的问题是,如果我有一个具有正常滚动行为的元素,我无法滚动该元素(请参阅.scroll
)。
无论如何检测一个元素(光标已经结束,即我想滚动该元素)是否可滚动或有滚动条,如果是,我想正常滚动该元素。
基本上我想让我的普通方法完美地工作,除非我试图滚动.scroll
元素。
答案 0 :(得分:0)
只需从脚本中删除event.preventDefault();
即可。默认情况下,任何带滚动条的元素都会自然滚动。除了滚动之外,当你想要在带滚动条的元素时做其他事吗?
答案 1 :(得分:0)
您可以在mouseover
元素时设置标记。像这样:
var disableScroll = true;
$(document).on('mouseenter mouseleave', '.scroll', function(e) {
disableScroll = (e.type == 'mouseleave');
});
然后检查滚动事件中的标志:
$('.page').on('mousewheel', function(event) {
if (disableScroll) {
event.preventDefault();
}
});
这是一个更新的小提琴:
http://jsfiddle.net/o0krp0yf/1/
您可能想要添加一个检查以查看内部滚动元素是否已完成滚动(否则,滚动事件将继续显示父项,这是不合适的...)