关于用js做的文字滚动效果

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:45:07
按照教程用js做了一个文字滚动效果:
<body onload="run()">
<div style=" float:left;width:234px; height:214px; overflow: hidden; margin: 200px" id="gd">
<p class="notice">mourn for Michael Jackson!!</p>
<p class="notice">mourn for Michael Jackson!!</p>
<p class="notice">mourn for Michael Jackson!!</p>
<p class="notice">mourn for Michael Jackson!!</p>
<p class="notice">mourn for Michael Jackson!!</p>
</div>
</body>
</html>

<script>
function run()
{
gd.scrollTop +=1;
setTimeout( "run()", 50 )

}
gd.innerHTML += gd.innerHTML
</script>

请问gd.innerHTML += gd.innerHTML这句是什么意思??为什么放进函数里就死机…求救!

gd.innerHTML += gd.innerHTML
就是 gd.innerHTML = gd.innerHTML + gd.innerHTML
就是 名为gd的div的对象,这个对象里面的内容 = gd这个对象里面的内容 + gd这个对象里面的内容
如果放到函数里面,本来你div里面有5个P, 50毫秒后会有10个P
100毫秒后会有15个P,以此类推,系统将耗尽资源而死

当gd里有足够多的内容的时候 她才能不断向上滚动, 然后内容滚动完了 就不会再滚动了 所以我要有无限多的内容 让他不断的重复滚动, 无限多的内容总不能写一堆 gd.innerHTML += "<p>123</p>"吧...
那就有写个gd.innerHTML += gd.innerHTML 但是这样,也才会有10个P用来翻滚,滚完就不滚了,我给你改了你的代码
<html>
<body onload="run(),add()">
<div style=" float:left;width:234px; height:214px; overflow: hidden; margin: 200px" id="gd">
<p class="notice">mourn for Michael Jackson!!</p>

</div>
</body>
</html>

<script>
function run()
{

gd.scrollTop +=1;
setTimeout( "run()", 50 )

}
function add(){
gd.innerHTML += "<p>123</p>";