阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在对应栏内. 【说明】 在网页正中靠上显示一个固定的时钟,如图8-1所示。 HTML文本如下所示. <html> <!-省略部分为HTML文本框

admin2010-05-10  37

问题 阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在对应栏内.   

【说明】
   在网页正中靠上显示一个固定的时钟,如图8-1所示。
   HTML文本如下所示.
<html>
<!-省略部分为HTML文本框>
<body onload="rad();counter(); ob();setNum();setlnterval(’timer(),100); setlnterval(’runClock ()’,100)">
<script language="JavaScdpt">
var dot=60;  //挂钟外边缘上的60个刻度
rads=(1);
function rad () {
for (i=1; i<dot; i++) {//初始化刻度
   if (document.all) rads=new Array (eval(’rad’+i).style,-100, -100);
   else rads: new Array (eval(’document. rad’+i),-100,-100);
   }
}
function setCircle() {//求外缘上60 个刻度的实际位置
   for (i=1; i<dot; i++) {
       rads[0].left=rads[1]+pX-15;
       if ((2))//检验是否是 NetScape4.x
           rads[0].left+=10;
       rads[0].top=rads[2]+pY-20;
   }
}
function counter() {//设置外边缘上 60 个刻度相对于刻度中心的位置
   for 0=1; i<dot; i++) {
   rad=Math. P1*(i/((dot-1)/2));
   rads[1] = Math. sin(rad)*60;
   rads[2] = -Math.cos(rad)*60;
   }
setCircle();
}
pX=400;pY=150;  //中心位置
obs=new Array(13); //储存秒针、分针、时针各组成部分位置的数组
function ob () {//初始化秒针、分针、时针各组成部分
for (i=0; i<13; i++) {
   if (document.all) obs=new Array (eval(’ob’+i), style,-100, 100);
   else obs = new Array (eval(’document.ob’+i), -100, -100);
   }
}
function cl(a,b,c){
   if (document.all)//判断游览器种类,为真表示为IE
       {
       if (a!=0) b+= 1;
       eval(’c’+a+’.style.pixelTop=’+(pY+(c-5)));
       eval(’o’+a+’.style.pixetLeft=’+(pX+(b)));
       }
else{
   if (a!=0) b+=10;
   eval(’document.c’+a+’.top=’+(pY+{c)));
   eval(’document.c’+a+’.left:’+(pX+(b))):
}
}
function runClock() {//求秒针、分针、时针各组成部分在屏幕上的实际位置
   for (i=0; i<13; i++) {
       obs[0].left=(3);
       obs[0].top=obs[2]+pY;
   }
}
function timer() {
   time = new Date ();//获取系统当前时间
   sec=(4);
//计算秒针、分针、时针各自转动的角度
       sec=Math. Pl*sec/30;
       min=Math. Pl*time.getMinutes()/30;
       hr =Math. Pl* ((time.getHours ()*60)+time, getMinutes ())/360;
       //设定秒针各组成部分在屏幕上的相对位置
       for ((5)) (
           obs[1] = Math.sin(sec) * (44 - (i-1)*11) -16;
           if (document.layers)obs[1]+=10;
           obs[2] =-Math.cos(sec) * (44-(i-1)*11)-27;
       }
       //设定分针各组成部分在屏幕上的相对位置
       for (i=6;i<10;i++) {
           obs[1]= Math.sin(min) * (40-(i-6)*10)-16;
           if (document.layers)obs[l]+=10;
           obs[2] = Math.cos(min) * (40 - (i-6)*10) -27;
       }
       //设定时针各组成部分在屏幕上的相对位置
       for (i=10;i<13;i++) {
           obs[1] = Math.sin(hr) * (37 - (i- 10)*11)-16;
           if (document.layers)obs[1]+=10;
           ohs[2] =-Math.cos(hr) * (37- (i-10)*11)-27;
       }
}
function setNum(){//设置并显示挂钟上的数字
cl (0, -67, -65);
cl (1,10,-51);
cl (2, 28, -33);
cl (3, 35,-8);
cl (4, 28, 17);
cl (5, 10, 35);
cl (6, -15, 42);
cl (7, -40, 35);
cl (8, -58, 17);
cl (9, -65, -8);
cl (10, -58, -33);
cl (11, -40, -51);
c1(12, -16, -56);
}
</script>

选项

答案(1)new Array(60) (2)document. layers (3)obs[i][1]+pX (4)time. getSeconds() (5)i=1:i<6:i++

解析 本题考查在HTML文本中嵌入JavaScript脚本,题目要求在网页正中靠上显示一个固定的时钟。下面我们来具体分析程序。
   第(1)空很明显是给变量rads赋一个值,从后面的程序中不难发现,rads是一个数组,那么在这里应该是用关键字new来动态分配一个数组空间,这个数组是用来记录挂钟的外边缘上的60个刻度的,那么这个数组的长度应该为60,因此答案为“new Array(60)"。
   第(2)空是条件判断语句的条件,此条件判断语句的作用在程序注释中已经给出,是检验是否是NetScape4.x,由后面的程序中不难推断出此空答案为“document.layers"。
   第(3)空在函数runClock()中,这个函数的作用是求秒针、分针、时针各组成部分在屏幕上的实际位置,这里面用一个循环来求得,而从后面的程序不难看出obs[0].left中存放的是当前时针的下坐标位置,因此答案为“obs[1]+pX”。
   第(4)空是在函数timer()中,这个函数的作用从注释中可以知道,是获取系统当前时间,那么要用到time对象的getSeconds()函数,因此答案为“time.getSeconds()”。
   第(5)空是循环的判断条件,此循环的作用是设定秒针各组成部分在屏幕上的相对位置。从后面设置分针和时针的循环中,不难推断出秒针各组成部分在屏幕上的相对位置存放在二维数组obs的前几行,且循环变量i应该是从1~6,因此此空答案为“i=1;i<6;i++”。
转载请注明原文地址:https://jikaoti.com/ti/yYD7FFFM
0

相关试题推荐
最新回复(0)