在下面的代码中,该函数将为每个间隔间隔滚动DIV,其中由于间隔刷新滚动条再次下降而导致尝试向上滚动时。

我的代码:

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


现在,通过对DIV使用onscroll属性,用鼠标按住滚动条时是否还有停止向下滚动的趋势?

就像是

       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的新手。

提前致谢..!

最佳答案

我不确定您要问的是什么,但是window具有滚动事件,您可以收听,其他任何使用CSS设置了overflow: auto|scroll的元素也可以。

您无法阻止默认的滚动行为,但是如果要执行类似以下操作,可以使用scrollTo()方法或scrollTop属性:

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


这是滚动事件的一个不错的compat表:http://www.quirksmode.org/dom/events/scroll.html

scrollTo()文档:https://developer.mozilla.org/en/Window.scrollTo

07-24 09:49
查看更多