我在递归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事件中调用该函数。
提前致谢。
答案 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