js制作滚动字幕

fanercute 2010-08-04 02:11:50
在网上搜到了一段滚动字幕的代码,有几处总也看不明白:
<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>
求高人释疑
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanercute 2010-08-04
  • 打赏
  • 举报
回复
谢谢两位大大
终于搞明白了
分数不多 都送上了 ~~~
拜谢~~
zyujie 2010-08-04
  • 打赏
  • 举报
回复
if(c.scrollTop%h != 0)中的c.scrollTop是指div的滚动高度,与实际高度求余,感觉这个判断没多大意义。
c.scrollTop += 1;//让卷去的高度加一?这里是指div的滚动高度加一,也就是当滚动条向下拉,内容:第一行,第二行向上走的效果。
if(c.scrollTop >= c.scrollHeight/2)c.scrollTop = 0;这个判断是指当滚动的高度大于文档高度的一半时,让滚动高度重置为0,因为滚动高度最大值了DIV的内容就不会向上移动的效果。所以这里重置一下滚动高度
大概就是这样吧!!说得不好,楼主批评哈!
APM60- 2010-08-04
  • 打赏
  • 举报
回复
改几个地方:
#demo{overflow:scroll ……

var h = ……
window.status = "h=" + h + " c.scrollTop=" + c.scrollTop;//可以再加几个想关注的变量

再把时间间隔改大一点,运行时看下状态栏。
相信这样LZ就可以看明白了。


87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧