2

ここにjsfiddleがあります-http : //jsfiddle.net/stevea/DyfGp/2/-外側のボックスには、ビューポートの外に伸びる内側のボックスが含まれています。これにより、水平スクロール バーが強制的に表示されます。

「Get Left Scroll」ボタンは現在の左スクロールを読み取り、「Set Left Scroll to 20」ボタンは左スクロールを 20 に設定します。これはすべて、Chrome と Safari で期待どおりに機能します。最初に Get Left Scroll を選択すると、何も返されないため 0 が返されます。左端が欠けています。手動でスクロール バーを少し動かした場合、Get Left Scroll を選択すると、スクロールした量が返されます。[左スクロールを 20 に設定] を選択すると、スクロールが左端から 20 ピクセルと 20 ピクセル移動します。優秀な!

問題は、これが 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);
    });
4

1 に答える 1

2

ではなくscrollLeft上に置きます。windowbody

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

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

于 2013-09-11T01:48:27.363 に答える