有一段非常NB的JS代码

JavaScript020

有一段非常NB的JS代码,第1张

首先不说你理解不理解的问题,这段代码本身就写得很烂……

这种css和结构代码混在一起的形式,让人很不舒服,不过为了简便,我也懒得改了。

我改了一下,帮助你理解

<div id="demo" style="overflow: hiddenWIDTH: 70pxheight: 50pxborder:solid 1px #222222" align="center">

<table><tr>

<td id="demo1" style="border:solid 1px red" >

aaaaaabbbcccccc

</td>

<td id="demo2" style="border:solid 1px green"><!-- 新加2个style帮助你理解,删除后你就明白了 -->

aaaaaabbb<!-- 其实这里根本没必要完全一样,因为这里的后半截是否显示取决于demo的宽度,也就是显示区域 -->

</td>

</tr></table>

</div>

<SCRIPT language="javascript">

function Marquee(){

if(demo1.offsetWidth-demo.scrollLeft<=0) //这里把demo2改成demo1,当demo1完全滚出显示区域时,(转下面)

demo.scrollLeft=0//让内部滚动条(这里是demo1,demo2)回归原位,造成连续滚动假象

else{

demo.scrollLeft++ //让demo的内部滚动条继续向左滚动1px

}

}

var MyMar=setInterval(Marquee,5)

demo.onmouseover=function() {clearInterval(MyMar)} //当鼠标放在div元素上面时,清除下面的定时执行功能

demo.onmouseout=function() {MyMar=setInterval(Marquee,5)} //每5毫秒执行一次函数,也就是每5秒滚动1px

</SCRIPT>

<script type="text/javascript">

$(document).ready(function() {

var Top = -400 //定义一个向上移动的距离,这个数值和你图片或DIV的高度相等 

var Time = 500 //定义一个速度 

function move() {

if ($("#box").is(":animated")) return

$("#box").animate({

"margin-top": Top

}, Time) //animate方法,只能对数值型的值进行渐变 

Top += -400 //运行一次增加一个图片的高度 

if (Top == -800) //判断当总高度大于你DIV或者图片总高度 

{

Top = 0 //把距离设置回0 

Time = 500 //加快移动速度 

} else {

Time = 500 //否则减慢速度 

}

}

setInterval(move, 6000) //3秒执行一次move() 

})

</script>