① <div id="announcement"
onMouseOver="if(!anncount) {clearTimeout(annst)annst = 0}" // 判断什么?clearTimeout(annst)这是啥?
////如果变量anncount还没有设置或者等于0,就清除定时器:clearTimeout(annst)
clearTimeout 以 setTimeout返回的整数为参数清除该定时器。
定时器即setTimeout(...), 这个函数返回一个整数,作为它的"句柄",setTimeout每执行一次,返回的整数值+1,所以永远不会有2个相同的定时器。这里就把这个整数赋给了变量annst ( 后面有annst = setTimeout('announcementScroll()', anndelay))。
这里的判断是为了及时的清除之前的定时器,以保证只有一个定时器起作用,如果不清除就同时有几个定时器给同一个对象定时,将导致滚动变快!
②var anncount = 0 // 这是什么?////仅仅是一个计数器,为了控制函数执行的次数,即后面的 if(anncount == annheight){},运行次数等于设置的高度值annheight。
var annheight = 24 // 行高? ////yes,you are right
var annst = 0 // 这是什么? ////仅仅是一个初始值,后面它将被赋予一个整数值
③$('announcementbody').innerHTML += '<br style="clear: both" />' + $('announcementbody').innerHTML// 为什么要自己加自己?不加就错行了...
////重叠的效果,不加自己就有空白
④$('announcementbody').scrollTop = 0// scrollTop是什么?////scrollTop是竖直滚动条距离顶部的距离,它等于0代表滑块滑到顶端。
if($('announcementbody').scrollHeight >annheight * 3) // scrollHeight 什么高度?这个判断什么意思? ////scrollHeight 是竖直滚动条的高度,注意体会和scrollTop的差别,这里判断如果announcementbody的滚动条高度是否大于annheight的3倍
⑤ return// 这个return 是终止本函数的意思么? //// you are right
理解了这些关键的东东,应该可以弄懂全部代码的含义了吧,不懂再hi,好困啊`!
不是每行代号都需要注释,但注释代码量要占10% ~ 20%,以免其他人在检测调试代码的时候,不知道这段代码是什么意思,还得从前面开始理解代码,增加别人的工作量。下面,我们来看看如何注释html、css、js代码吧。
html注释的格式html注释的格式是【 <!--代码块-->】,把注释的内容写在“<!--”和“-->”里面就可以了。这个表示多行或单行注释。
<!--这里写这个元素的层级、包含的大致内容、这个区域的名称-->
html注释的快捷键在sublime编辑代码的时候,可以使用快捷键组合【 ctrl+shift+/ 】来注释代码。
css注释的格式CSS注释的格式是【/* 注释内容 */】
js注释的格式js注射的格式是【// js代码】