为什么这个Jquery代码不能在IE上运行? (在其他浏览器上完美运行)

时间:2014-08-30 04:17:39

标签: jquery internet-explorer

当用户向下滚动页面时,此编码用于突出显示菜单上的链接。它在所有其他浏览器中都可以正常工作,除了ie8(尚未在ie9中测试过)。

$(document).scroll(function(e){

    var trigger = $(this).scrollTop() + $(window).height()/2; 

      function highlighter(){    
        var thisId = this.id;    
        if(
               $(this).offset().top <= trigger &&
               $(this).offset().top + $(this).outerHeight()>= trigger
             ) {
                $(".main-menu a[href='#" + thisId + "']").addClass("highlighter");    
            } else {
                $(".main-menu a[href='#" + thisId + "']").removeClass("highlighter"); 
            }
         };

        $("#home, #about, #skills, #work, #blog, #contact").each(highlighter);

    });

我想知道IE中是否有任何功能/功能不受IE支持?或者是否存在IE不支持的任何代码?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为问题来自下面的代码行

var trigger = $(this).scrollTop() + $(window).height()/2;

检查一下: ScrollTop in IE8 returning 0

scrollTop在IE8中无法正常工作