问题 问答题

【说明】 跑马灯效果是JavaScript语言在制作动态主页中较为常用的一个应用,其运行效果是在浏览器窗口状态条内滚动地显示文字,形成跑马灯的效果,具体的效果描述如下: 1.在H9NL文档被载入浏览器时,首先在状态条上将“这是一个跑马灯效果的 JavaScdpt文档”,该字符串从左到右逐个字符地显示出来。 2.在该字符串显示完毕后随即消失,并开始进入跑马灯的效果阶段。 3.整个字符串从状态条的最右面开始出现,并逐渐向左滚动。 4.当字符串全部在左部消失后,从右部重新开始新一轮的滚动。 【HTML 文本说明】 <html>…… <--省略部分为HTML文本框架--> (1) //JavaScript 区域开始标志 var msg=“这是一个跑马灯效果的JavaScript文档”; //声明用于显示跑马灯效果的消息文字串变量msg var interval=100= //设定进行显示的时间间隔 var spacelen=120; //将状态条长度划分为120个单位长度 var space10=" "; //声明一个代表10个单位长度的字符串 var seq=0; //声明用于记录当前显示的字符串长短变量seq function Scroll(){ //Scroll()函数主要用于网页刚打开时,对消息字符串逐步显示 len=msg.lengthl //记录用于显示效果文字的长度 window.status=msg.substring(0,seq+1; //动态修改窗口的状态条的显示内容,由于每个时间间隔不断地增加内容,从而产生状态条信息的逐步显示。 (2) if(seq>=len){ //根据当前的seq情况进行分支判断,如果seq>len,也就是已经显示了所有串的内容时,就按interval时间间隔凋用Scroll2()函数;否则就调用Scroll()函数 seq=spacelen; window.setTimeout("Scroll2();",Interval); } else (3) } function Scroll2(){ //Scroll2()函数主要用于不断以滚动的方式显示消息内容 varout=" "; //声明Scroll2()的内部输出字符串out for(i=1;i<=spacelen/space10.1ength; i++)out+=space10; //处理字符串out前部的空格部分 out=out+msg; //组成显示字符串out的文字部分 len=out.length Window.status= (4) ; //不断改变窗口的状态条文字内容,产生文字滚动的特性 Seq++: if( (5) ){seq=0;}; //当显示的文字内容为0时,就重新显示 Wlndow.setTimeout("Scroll2();" interval); } Scroll(); //调用函数Scroll() </script> …… <!--省略部分为HTML文本框架-->

答案

参考答案:

解析:(1)<Script Language="JavaScript"> (2)seq++ (3)Window.setTimeout("Scroll();",interval); (4)out.substring(seq,len) (5)seq>=len

[分析]: 本题是一道通过字符串处理来实现特效的JavaScript程序,本题相对而言比较简单,主要考查了加入JavaScript、定时器,以及文字输出的应用。 根据注释,(1)是“JavaScript区域开始标志”,而我们知道在HTML文档中,要使用Script标志来隔开嵌入脚本,而在本题中使用的是JavaScript,因此要用Script属性的Language属性来说明,因此就是:“<Script Language="JavaScript">”。 而对于(2)而言,随着字符串的增加,显然应该将seq的值加1。因此,应该填入:“seq++”。 (3)处于分支语句中,根据注释可以知道,这个分支是“否则就调用Scroll()函数”,因此我们就应该使用“window.setTimeout("Scroll();",interval);”。 (4)的作用是往状态栏上写文字,而写的应该是从第seq的位置开始的,长度为len的子中,因此应该使用substring函数来实现,即“out.substring(seq,len)”。 (5)是用来处理“当字符串全部在左部消失后,从右部重新开始新一轮的滚动”的情况,因此显然应该是“seq>=len”。

单项选择题
单项选择题