jQuery Scroll在IE 7和IE 8中不起作用

时间:2012-01-04 10:46:19

标签: javascript jquery internet-explorer internet-explorer-8 internet-explorer-7

以下是我使用的示例:

jQuery(document).ready(function() {

    console.log('scroll');

    jQuery(window).scroll(function () {
        console.log('scrolling 1');
    });

    jQuery(document).scroll(function () {
        console.log('scrolling 2');
    });
});

这只会返回“在IE 7和IE 8中滚动” 在Chrome,Firefox和IE 9中,只要我滚动,它就会返回所有内容并“滚动2”。

我也被锁定到jQuery 1.3

有没有人知道如何在IE 7和IE 8中使用它?


编辑:
我现在发现,其原因似乎与jQuery Lightbox Plugin有关。

2 个答案:

答案 0 :(得分:2)

问题发生在jquery.lightbox.js

的第817行
$(window).unbind().resize(function ()

这将取消绑定与$(窗口)相关的所有内容,而不仅仅是调整大小 所以解决方案是:

$(window).unbind('resize').resize(function ()

答案 1 :(得分:0)

查看ScrollTo插件。

http://flesler.blogspot.com/2007/10/jqueryscrollto.html

他们的演示页面使用jQuery 1.3.2 -

http://demos.flesler.com/jquery/scrollTo/

另请注意:

  

不在IE上滚动。有时,您需要为容器设置一个位置(相对或绝对)并给它固定尺寸,以隐藏溢出。   如果这不起作用,请尝试给容器固定尺寸(高度和宽度)。

已更新 使用jQuery 1.11.1,使用jquery.scrollTo release 1.4.13和以下内容:

$( '#parent' ).scrollTo( $( '#target' ), 800 );

这适用于IE 7.0.5730.11。