标题网页中对象的动态移动
栏目网络与通信
作者zrom
发布2001年21期
在上网浏览网页的过程中,大家是否见过网页中有些图片或文字会在页面中随机移动呢?
动态HTML中大多数的内容要想精确定位都要用到<DIV>标签作为容器定义一个对象。在<div>...</div>容器之间可以放置任何对象,并且可随意控制这个对象的位置(坐标),但Netscape的浏览器还不支持这项规定。我们接下去要做的就是将需要随机移动的图片或文字放在<div>...</div>容器之中,给这个对象起一个名称,再写一个定时执行的脚本来改变各个对象的位置;看下面这段源代码,各位肯定都理解是怎么一会事了。(注//后的文字为注释)
<html>
<head>
<title>会移动的图形和文字</title> //网页的标题
<script language="javascript"> //一个定时执行的JAVA
脚本程序
var b2=3;b1=6;a2=4;a1=2;//定义变量
function moveIt()//移动各个对象的位置,使用了递归调用方法。
{
bbb.style.left = parseInt(bbb.style.left) - b1; //将名为bbb的对象的行坐标减去b1
bbb.style.top = parseInt(bbb.style.top)+ b2;//将名为bbb的对象的纵坐标加上b2
aaa.style.left = parseInt(aaa.style.left)+ a1; //和上两行类似
aaa.style.top = parseInt(aaa.style.top)+ a2;
if((parseInt(bbb.style.left)<0)||(parseInt.bbb.style.left)>480{b1=-b1}
if((parseInt(bbb.style.top)<0)||(parseInt.bbb.style.top)>180)){b2=-b2}//判断对象bbb
是否超出了显示范围?若超出了范围,则让b1=-b1
if ((parseInt(aaa.style.left)<0)||(parseInt(aaa.style.lefat)>480)){a1=-a1}
if((parseInt(aaa.style.top)<-100)||(parseInt(aaa.style.top)>180)){a2=-a2}//和上二行意思一样;
setTimeout('moveIt()',100);//100毫秒之后再调用本函数,以形成递归;
}
</script> //脚本结束;
</head>
<body onload="moveIt()"> //当网页加载时执行上面的java脚本程序,完成对象的移动;
<div id="bbb" style="position:relative;left:10px;top:8px;width:900px;height:16px;">">
<dd><img src="picture.gif" width="90" height="80"> </dd>
</div> //用<div>...</div>定义了一个名为bbb的对象,其初始坐标为x:20,y:8,对象的宽度(width=60)和高度(height=49),这个对象只包括一张图片名为picture.gif
<div id="aaa" style="position:relative;left:10px;top:8px;width:900px;height:16px;">
<dd><font color="#FF00FF">好玩吗?!!! </font></dd>
</div> //同样定义了一个名为aaa的对象,对象包括一行文字。
</body>
</html>