2016-08-01 28 views
0

所以我有幾個divs中滾動條。顯然,當它到達這些div的底部,身體的其餘部分開始滾動。不理想。如何「取消」window.scroll()

「position:fixed;」由於其他div的佈局,正文上的技巧無法正常工作,所以我將一個小的解決方案放置在一起,將鼠標懸停在其中一個div上時,將窗口滾動位置設置爲當前滾動。代碼如下:

$(".scrollLock").hover(function() {  
    var scrollX = window.scrollX, scrollY = window.scrollY; 
window.onscroll = function(e){ 
    scroll(scrollX,scrollY) 
} 
}, function() { 
    var scrollX = window.scrollX, scrollY = window.scrollY; 
window.onscroll = function(e){ 
    scroll() 
} 
}); 

很明顯,第二個scroll()是不正確的。當它工作時,它會填充控制檯,因爲它需要兩個參數。但是,如果我刪除它,滾動位置保持鎖定,即使當我鼠標的scrollLock格。有沒有更正確的方法來做到這一點?

+1

我使用'margin-top'並從'$(window).scrollTop()'計算它。工作正常。並處理'$(window).on('scroll',function ...)' –

+0

理想情況下:不要更改默認值,預期的瀏覽器功能 – jeremy

+0

scrollLock元素有點像Facebook右手邊的朋友欄,其行爲相同:^) – MyNameWouldGoHere

回答

1

嘗試e.preventDefault()

雖然這可能不適用於滾動。

+0

哦,嘿,那有用,謝謝:) – MyNameWouldGoHere