如何在网页上某一个div内滚动滚动条时,禁止整个document的滚动
var scroll = function(event,scroller){
var k = event.wheelDelta? event.wheelDelta:-event.detail*10;
scroller.scrollTop = scroller.scrollTop - k;
return false;
};
<div onmousewheel="return scroll(event,this)" style="width:200px;height:200px;overflow:auto;border:1px solid #ccc;">
<ul>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
</ul>
</div>
DIV的滚动条滚动时,DOCUMENT本来就不会滚啊,除非你那个DIV没获得焦点,或是滚动条到了底部或顶部。
jquery
$('#div').hover( function(){ $('body').css('overflow', 'hidden'); }, function(){ $('body').css('overflow', 'auto'); })