我怎么知道窗口是否不能向右滚动?

时间:2010-11-02 04:23:10

标签: javascript scroll

我在递归TimeOut上有一个滚动函数,使得一个非常宽的窗口水平滚动直到它到达右端,但我需要在JavaScript中知道滚动是否已完成以更改方向并滚动回原点。 / p>

我该如何做到这一点?

function ScrollIt(scrollPos, direction) {
  if(direction == 'right')
   window.scrollBy(scrollPos,0);
  else
   window.scrollBy(scrollPos,0);
  cTimeOut = setTimeout("ScrollIt(1,'right')",10);
}

当然我第一次在onload事件中调用该函数。

提前致谢。

1 个答案:

答案 0 :(得分:1)

var w = document.documentElement.clientWidth;
var over = document.documentElement.scrollWidth - w;

window.onscroll = function() {
  // Detect webkit browser (Chrome, Safari)
  if(window.devicePixelRatio) {
    if(document.body.scrollLeft==over) { alert("KABOOM (Webkit)") }
  }
  else {
    if(document.documentElement.scrollLeft == over) { alert("CRUNCH") }
  }
}

经过测试的FF 3.6,IE8,Chrome 3.1,Safari 4.0