1

Firefoxブラウザで問題が発生しました。バグの可能性がありますが、回避策を知っている人がいるかもしれません。この問題は、次のJSFiddleで示されています。http://jsfiddle.net/F5tdB/これは、Firefox 12.0、15.0.1、16.0.1でテストされています。

それを言葉で説明するには...あなたはこの一連の出来事に従わなければなりません:

  1. オーバーフローしたコンテンツを含む要素を取得しoverflow:auto、少しスクロールします。
  2. 要素を非表示にします(display: none);
  3. 内容を削除する
  4. 要素を表示します(現在は空です)
  5. 同じ内容を再度追加します(以前と同じようにスクロールされます)
  6. Javascriptを介してscrollTop/scrollLeftを0にリセットします。

その結果、コンテンツは適切な位置にスクロールされますが、スクロールバーはそのまま残ります。これは明らかに間違っています。

要素を非表示にするのではなく、要素を削除/再追加する以外の回避策はありますか?

4

2 に答える 2

3

テストで、scrollTopを0(または現在の値)以外の値に設定すると、スクロールバーが正しく更新されることがわかりました。その後、すぐにscrollTopを0に設定できます。

特にテストケースがあるので、もちろんBugzillaにバグを報告する必要があります。

于 2012-10-23T23:45:33.830 に答える
0

解決策はanimateメソッドを追加することなので、次を使用します。

function resetScroll(){
    $(document).scrollTop(1); // removes the impression of animation
    $('html,body').animate({scrollTop:0},'fast','linear');
}
于 2015-01-13T15:07:41.670 に答える