在递归超时期间,我有一个滚动函数,使一个非常宽的窗口水平滚动,直到它到达右端,但是我需要知道在javascript中,滚动是否已经完成,以改变方向并滚动回原点。
我怎样才能做到这一点?
function ScrollIt(scrollPos, direction) { if(direction == 'right') window.scrollBy(scrollPos,0); else window.scrollBy(scrollPos,0); cTimeOut = setTimeout("ScrollIt(1,'right')",10); }
当然,我第一次调用onload事件中的函数。
事先谢谢。
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