去掉startScroll()里的area.scrollTop++就不行!
為什么去掉startScroll里的area.scrollTop++不行?scrollUp里不是有area.scrollTop++了嗎?Interval一直循環(huán)的是scrollUp里的area.scrollTop++呀
為什么去掉startScroll里的area.scrollTop++不行?scrollUp里不是有area.scrollTop++了嗎?Interval一直循環(huán)的是scrollUp里的area.scrollTop++呀
2016-09-02
舉報
2017-04-09
var area = document.getElementById("moocBox");
var speed = 50,timer = null,delay = 2000;
LiHeight = 24;
area.innerHTML +=area.innerHTML;
function scrollTopPlus(){
area.scrollTop++;
if(area.scrollTop%LiHeight == 0){
clearInterval(timer);
setTimeout("timer = setInterval(scrollTopPlus,speed)",delay);
}
if(area.scrollTop >= area.scrollHeight/2){
area.scrollTop = 0;
}
}
timer = setInterval(scrollTopPlus,speed);
簡單明了
2016-11-30
請看一下我的備注, 這個問題我仔細鉆了一下午,搞明白了, 有不懂的再問我
?var delay=1000;
?var speed=10; //滾動速度?
?var iliHeight=24; //li的單行高度
?con2.innerHTML=con1.innerHTML;
?area.scrollTop=0; ? //如果area.scrollTop=1, 那么一開始,area.scrollTop%ili==0 程序不會向下走,為什么教程里面的講師程序卻可以?
?//解答: 因為在startScroll()里面, 有個area.scrollTop++; 它會在var myScroll=setInterval(scrollUp,speed); 運行的時候也跟著運行一次,所以area.scrollTop就為1了。
?
?function startScroll(){
time=setInterval("scrollUp()",speed);
area.scrollTop++; // 重要,不能刪除,原因: 在area.scrollTop=ali高度的倍數(shù)以后,執(zhí)行start(),?
// 讓area.scrollTop自加1,這樣area.scrollTop % iliHeight==0就不成立,繼續(xù)向上滾動
如果不添加area.scrollTop++; 那么滾動一次以后, area.scrollTop=24; ? 這個值會一直保持不變
}
2016-09-03
零可以被任何數(shù)整除,0對iLiHeight取余結果是0,進入if語句,定時器被清除,兩秒后重新開始又是這樣循環(huán),永遠動不了。