2014-07-14 139 views
3

我通過overflow: auto得到了具有垂直滾動條的元素。當我在它內部垂直滾動併到達底部時,由於頁面內容比窗口高度更長,窗口將開始滾動。我可以禁用此行爲嗎?滾動溢出元素時禁用窗口滾動

// CSS 
#container { 
    width: 100px; 
    height: 300px; 
    border: 1px solid #000; 
    overflow: auto; 
} 

// HTML 
<div id="container"> 
    <div>Foo</div> 
    ... 
</div> 

// Other content, stretching out the page vertically, 
// forcing a scrollbar on the window 

例子:http://jsbin.com/zimabuco/1/

+0

爲什麼選擇投票?完全合法的問題..至少張貼你的推理。 – Ozrix

+1

可能是因爲你沒有發佈你的代碼。 – Aibrean

+3

也許只是有人看到了一段文字,並且沒有閱讀就低估了它。您可能希望直接在問題中放入HTML和CSS的縮減版本,儘管在JSBin鏈接斷開的情況下可以幫助解決問題,然後我可能會爲您提供其中一個降價版本 – musefan

回答

1

這將禁用窗口,當你將鼠標懸停在列表中滾動:

$(document).ready(function(){ 

    $("#container").hover(function(){ 

    $('html, body').css({ 
    'overflow': 'hidden', 
    'height': '100%' 
    }) 

    }); 

}); 
2

身體的溢出設置爲隱藏,當容器被懸停似乎好好工作。

$('div#container').mouseenter(function(event) { 
    $('body').css('overflow', 'hidden'); 
}).mouseleave(function(event) { 
    $('body').css('overflow', ''); 
}); 

請看下面的例子,當div被徘徊時,你會看到滾動條消失。 示例http://jsbin.com/sihihewi/3/edit