ScrollLeft()无法使用Firefox

时间:2013-09-11 01:40:47

标签: jquery firefox

我在这里有一个jsfiddle - http://jsfiddle.net/stevea/DyfGp/2/ - 其中一个外框包含一个延伸到视口外的内框。这会强制显示水平滚动条。

“离开了 滚动“按钮读取当前左滚动,”设置左滚动到20“按钮将左滚动设置为20.这一切都像我在Chrome和Safari上所期望的那样工作:最初选择Get Left Scroll返回0因为没有遗漏任何东西左边。如果我手动移动滚动条一些,选择Get Left Scroll返回我滚动的数量,因为现在这个数量在左端丢失。如果选择“Set Left Scroll to 20”,滚动移动20和20px现在在左端丢失了。很棒!

问题是这些都不适用于Firefox。在Firefox中,所有滚动读取都返回0并且编写滚动似乎没有做任何事情。有谁知道问题可能是什么?

由于

 $('#getScroll').click(function() {

        var bodyscroll = $('body').scrollLeft();
        $('#scroll').html("left scroll is " + bodyscroll);

    });

    $('#setScroll').click(function() {
        $('body').scrollLeft(20);
        var bodyscroll = $('body').scrollLeft();
        $('#scroll').html("left scroll is " + bodyscroll);
    });

1 个答案:

答案 0 :(得分:2)

scrollLeft放在window而不是body

var windowscroll = $(window).scrollLeft();

http://jsfiddle.net/DyfGp/5/