我有以下http://jsfiddle.net/o0krp0yf/基本上,如果我用鼠標滾輪滾動,停止它(我想滾動幻燈片)。但我的問題是,如果我有一個正常的滾動行爲的元素,我無法滾動該元素(請參閱.scroll
)。Javascript mousewheel event scroll
有無論如何檢測一個元素(遊標結束,即我想滾動該元素)是可滾動還是滾動條,如果它是我想正常滾動該元素。
基本上我想讓我的普通方法完美地工作,除非我試圖滾動.scroll
元素。
我有以下http://jsfiddle.net/o0krp0yf/基本上,如果我用鼠標滾輪滾動,停止它(我想滾動幻燈片)。但我的問題是,如果我有一個正常的滾動行爲的元素,我無法滾動該元素(請參閱.scroll
)。Javascript mousewheel event scroll
有無論如何檢測一個元素(遊標結束,即我想滾動該元素)是可滾動還是滾動條,如果它是我想正常滾動該元素。
基本上我想讓我的普通方法完美地工作,除非我試圖滾動.scroll
元素。
你可以設置一個標誌,當你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/
您可能要添加檢查以查看內部滾動元素是否已經完成滾動(否則,滾動事件將繼續到父母,這是不期望的...)
只需從您的腳本中刪除event.preventDefault();
。默認情況下,滾動條的任何元素都將自然滾動。除了滾動以外,如果帶滾動條的元素還想做其他事情嗎?
我無法刪除它我需要它。閱讀原文。 – Steven 2014-11-06 02:13:51