在网上搜到了一段滚动字幕的代码,有几处总也看不明白:
<style type="text/css"> 
#demo{overflow:hidden;height:25px;line-height:25px;text-align:center;}
</style> <div id="demo">
第一行<br />第二行<br />第三行<br />第四行<br />
</div>
<script type="text/javascript"> 
var c = document.getElementById("demo");
c.innerHTML += c.innerHTML;
c.scrollTop = 0;
function scrolling(){
var h = document.getElementById("demo").style.height;
if(c.scrollTop%h != 0){//这里用c.scrollTop去除div的高度求余做什么?
c.scrollTop += 1;//让卷去的高度加一?
if(c.scrollTop >= c.scrollHeight/2)c.scrollTop = 0;//这里判断条件判断什么?
}
setTimeout(scrolling,100);
}
</script>
求高人释疑

解决方案 »

  1.   

    改几个地方:
    #demo{overflow:scroll ……var h = ……
    window.status = "h=" + h + " c.scrollTop=" + c.scrollTop;//可以再加几个想关注的变量再把时间间隔改大一点,运行时看下状态栏。
    相信这样LZ就可以看明白了。
      

  2.   

    if(c.scrollTop%h != 0)中的c.scrollTop是指div的滚动高度,与实际高度求余,感觉这个判断没多大意义。
    c.scrollTop += 1;//让卷去的高度加一?这里是指div的滚动高度加一,也就是当滚动条向下拉,内容:第一行,第二行向上走的效果。
    if(c.scrollTop >= c.scrollHeight/2)c.scrollTop = 0;这个判断是指当滚动的高度大于文档高度的一半时,让滚动高度重置为0,因为滚动高度最大值了DIV的内容就不会向上移动的效果。所以这里重置一下滚动高度
    大概就是这样吧!!说得不好,楼主批评哈!