有没有办法使用JavaScript控制滚动条?

时间:2011-12-27 18:10:53

标签: javascript scrollbar browser-scrollbars

在我的下面的代码中,为每个间隔设置滚动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的新手。

提前致谢..!

1 个答案:

答案 0 :(得分:5)

我不确定你在这里问的是什么,但window有一个你可以听的滚动事件,以及overflow: auto|scroll使用CSS设置的任何其他元素也是如此。

您无法阻止默认滚动行为,但如果您想要做一些烦人的事情,可以使用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