微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题网页中对象的动态移动
栏目网络与通信
作者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>