IE8 Jquery scrollTop始终返回0

时间:2013-01-09 13:33:29

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

我为jQuery编写了一个小插件,用于简单的视差滚动效果。它适用于除<之外的所有浏览器。 IE8。

$.fn.extend({ 
    //plugin name - parallax ( simpel )
    parallax: function(options) {

        var defaults = {
            speed: 3
        };

        var options = $.extend(defaults, options);
        var o = options;
        var obj = $(this);
        var s = $(window).scrollTop() / o.speed;

        if ($.browser.msie && parseInt($.browser.version, 10) <= 8) {
            obj.css({"top" : -s + "px"});
        }else{
            obj.css("-webkit-transform", "translateY(-" + s + "px)");
            obj.css("-moz-transform", "translateY(-" + s + "px)");
            obj.css("-ms-transform", "translateY(-" + s + "px)");
        }                                
    }
});

在我的主jQuery文件中,我使用的代码如下:

$(window).scroll(function(){
    $('.headMenu').parallax({speed: 6});
    $('.header_img').parallax();
});

出于某种原因'总是保持0。找不到原因。我认为$(window).scroll在IE8中不起作用。

1 个答案:

答案 0 :(得分:-2)

过去我在IE中的scrollTop()运气不好,不知道为什么。如果它符合您的需求,请尝试在所有IE中使用window.scrollTo(0, 0);始终为我工作: - )