去掉startScroll()里的area.scrollTop++就不行!
为什么去掉startScroll里的area.scrollTop++不行?scrollUp里不是有area.scrollTop++了吗?Interval一直循环的是scrollUp里的area.scrollTop++呀
为什么去掉startScroll里的area.scrollTop++不行?scrollUp里不是有area.scrollTop++了吗?Interval一直循环的是scrollUp里的area.scrollTop++呀
2016-09-02
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);
简单明了
请看一下我的备注, 这个问题我仔细钻了一下午,搞明白了, 有不懂的再问我
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高度的倍数以后,执行start(),
// 让area.scrollTop自加1,这样area.scrollTop % iliHeight==0就不成立,继续向上滚动
如果不添加area.scrollTop++; 那么滚动一次以后, area.scrollTop=24; 这个值会一直保持不变
}
举报