ここに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);
});