Javascript 滚动子div仅在IE8中滚动页面

Javascript 滚动子div仅在IE8中滚动页面,javascript,jquery,html,internet-explorer-8,Javascript,Jquery,Html,Internet Explorer 8,我在有滚动条的页面中有一个div,当div滚动结束时,页面滚动开始。这是任何浏览器的默认行为,但我仍然希望在div scroll结束后停止滚动页面。我有一个修复程序,这是我在中创建的示例 但上述解决方案适用于Chrome、Firefox和IE9。但不是在IE8工作 如果你能找到解决办法,请告诉我 谢谢, Gopi正如Andrew在上面所说的,您是否尝试过@amustill()的演示 演示: $(function() { var toolbox = $('#toolbox'),

我在有滚动条的页面中有一个div,当div滚动结束时,页面滚动开始。这是任何浏览器的默认行为,但我仍然希望在div scroll结束后停止滚动页面。我有一个修复程序,这是我在中创建的示例

但上述解决方案适用于Chrome、Firefox和IE9。但不是在IE8工作

如果你能找到解决办法,请告诉我

谢谢,
Gopi

正如Andrew在上面所说的,您是否尝试过@amustill()的演示

演示:

$(function() {

  var toolbox = $('#toolbox'),
      height = toolbox.height(),
      scrollHeight = toolbox.get(0).scrollHeight;

  toolbox.bind('mousewheel', function(e, d) {
    if((this.scrollTop === (scrollHeight - height) && d < 0) || (this.scrollTop === 0 && d > 0)) {
      e.preventDefault();
    }
  });

});
<div id="toolbox">
    Text that scrolls...
</div>

JS:

$(function() {

  var toolbox = $('#toolbox'),
      height = toolbox.height(),
      scrollHeight = toolbox.get(0).scrollHeight;

  toolbox.bind('mousewheel', function(e, d) {
    if((this.scrollTop === (scrollHeight - height) && d < 0) || (this.scrollTop === 0 && d > 0)) {
      e.preventDefault();
    }
  });

});
<div id="toolbox">
    Text that scrolls...
</div>
$(函数(){
变量工具箱=$(“#工具箱”),
高度=工具箱。高度(),
scrollHeight=toolbox.get(0).scrollHeight;
bind('mousewheel',函数(e,d){
if((this.scrollTop==(scrollHeight-height)&&d<0)| |(this.scrollTop==0&&d>0)){
e、 预防默认值();
}
});
});
HTML:

$(function() {

  var toolbox = $('#toolbox'),
      height = toolbox.height(),
      scrollHeight = toolbox.get(0).scrollHeight;

  toolbox.bind('mousewheel', function(e, d) {
    if((this.scrollTop === (scrollHeight - height) && d < 0) || (this.scrollTop === 0 && d > 0)) {
      e.preventDefault();
    }
  });

});
<div id="toolbox">
    Text that scrolls...
</div>

滚动的文本。。。

这需要jQuery和.

我在mac上的FF 13上尝试了这一点,滚动停止,但只要我移动鼠标并再次尝试滚动,它就会滚动页面,即使在玩过鼠标后,鼠标仍在div内,看起来其他浏览器在滚动到达底部后会额外调用鼠标滚轮。IE8没有。因此,如果你打印出方法中调用的最后一个scrollTop,在IE8中它小于最大值,在Chrome中,它是最大值。我想不出一个简单的解决方法(除了我个人最喜欢的“不要使用IE”)。我觉得这可能是可行的,但也可能非常混乱。我的直觉是,不要像那样无视浏览器的行为。