[英]Javascript mousewheel event scroll
我基本上有以下http://jsfiddle.net/o0krp0yf/如果使用鼠標滾輪滾動,請將其停止(我要滾動幻燈片)。 但是我的問題是,如果我的元素具有正常的滾動行為,則無法滾動該元素(請參見.scroll
)。
無論如何,有沒有檢測一個元素(光標位於光標上方,即我要滾動該元素)是否可滾動或具有滾動條,以及是否確實要滾動該元素的功能。
基本上,除非我試圖滾動.scroll
元素,否則我想讓我的常規方法完美地工作。
只需刪除event.preventDefault();
從您的腳本。 默認情況下,帶有滾動條的任何元素都將自然滾動。 當帶有滾動條的元素(滾動以外)時,是否要做其他事情?
將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/
您可能想要添加檢查以查看內部滾動元素是否已完成滾動(否則,滾動事件將繼續到父級,這是不希望的...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.