簡體   English   中英

JavaScript鼠標滾輪事件滾動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM