2012-05-23 25 views
6
$('.news-wrap').mouseenter(function(event) { 
    $(window).mousewheel(function(event) { 
     event.preventDefault(); 
    }); 
}); 

ウィンドウのスクロールが無効になっていますが、それぞれの要素はそのままです。 mouseleaveイベントでスクロールを有効にするにはどうすればよいですか?jQueryはスクロールを無効にして有効にします

答えて

5

このようにします。 $.disablescroll

$('#abs').bind('mousewheel DOMMouseScroll', function(e) { 
    var scrollTo = null; 
    if (e.type == 'mousewheel') { 
     scrollTo = (e.originalEvent.wheelDelta * -1); 
    } else if (e.type == 'DOMMouseScroll') { 
     scrollTo = 1000 * e.originalEvent.detail; 
    } 

    if (scrollTo) { 
     e.preventDefault(); 
     $(this).scrollTop(scrollTo + $(this).scrollTop()); 
    } 
});​ 
8

私はこれを処理するためのjQueryプラグインを書いています。

マウスホイール、タッチモーブ、およびボタンからのスクロールを停止します(Page Downなど)。

$('.news-wrap').mouseenter(function() { 

    $(window).disablescroll(); 

}).mouseleave(function() { 

    $(window).disablescroll("undo"); 

}); 

誰かがこの情報を役立ててくれることを願っています。

+0

ありがとう、これは本当に便利です! –

+0

私はうれしいです、あなたは大歓迎です! :D –

+0

要素を上下にドラッグしてウィンドウのスクロールポイントに達したとき、マウスとドラッグ可能な要素の結合が解除されました。私はこのプラグインを試して、それは魅力のように働いた...素敵なプラグイン –

関連する問題