0

以下のコードでは、間隔のセットごとにDIVをスクロールする関数を使用しています。間隔を更新するために上にスクロールしようとすると、スクロールバーが再び下に移動します。

私のコード:

   var int = self.setInterval("f2()", 1000);
   function f2() {
   var objDiv = document.getElementById("messages2");
   objDiv.scrollTop = objDiv.scrollHeight;
   }

さて、onscrollDIVのプロパティを使用することで、マウスでスクロールバーを押したままにスクロールダウンを停止する方法はありますか?

何かのようなもの

       var int = self.setInterval("f2()", 1000);
       function f2() {
       var objDiv = document.getElementById("messages2");
       // if(objDiv.onscroll) i.e. when the particular DIV's scroll bar is on hold by cursor.
          {
          return false;
          }
       else
          {
            objDiv.scrollTop = objDiv.scrollHeight;
          }
      }

上記のような関数を実装できる場合は、構文を修正してください。私はJavaScriptの初心者です。

前もって感謝します..!

4

1 に答える 1

5

ここで何を求めているのかわかりませんが、window聞くことができるスクロールイベントがあり、overflow: auto|scrollCSS を使用して設定された他の要素もそうです。

デフォルトのスクロール動作を防ぐことはできませんが、次のような厄介なことをしたい場合は、scrollTo()メソッドまたはプロパティを使用できます。scrollTop

window.onscroll = function() {
    window.scrollTo(0,0);
};

これはスクロールイベントの素晴らしい互換表です: http://www.quirksmode.org/dom/events/scroll.html

scrollTo()ドキュメント: https://developer.mozilla.org/en/Window.scrollTo

于 2011-12-27T18:22:15.277 に答える