.scrollLeft()方法不起作用

时间:2014-06-16 13:06:26

标签: javascript jquery html internet-explorer

我有一些jQuery脚本的页面。一切都很好,除了IE。我无法解决滚动问题的位置。

整页是一个长水平页面。每当我更改PAGE(页面的标识号)时,web都应向左或向右滚动。以下是我处理上一个按钮操作的一些代码:

$('#previous').click(function() {
        var width = $(window).width();
        var leftOffset = $(document, window).scrollLeft();
        var browser = get_browser();
        hidePaging();

        $((browser == "Firefox" || browser == "msie") ? "html" : "body").animate({
            scrollLeft: page > 2 ? width * 2 : leftOffset - width
            },
            1000, 
            function () {
                page = page > 2 ? 2 : page - 1;
                console.log(page);
                fixPagingAppearance();
            }
        );
    });

我的问题是:“为什么在IE中滚动不起作用?!”

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

我认为您应该使用$("html,body").animate({--your code--})而不是使用$("html")$("body")

替换此行:

var leftOffset = $(document, window).scrollLeft();

 var leftOffset = $(document).scrollLeft();

for IE。

参考:http://forum.jquery.com/topic/animate-scrollleft-get-problems-in-ie-and-ff