中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

用Javascript制作跳动的文字
冯永曜  黄山村夫  

  一段文字,每个字都在不停地变换着颜色,不停地改变大小且不停地变换位置,像一个个活泼可爱的小精灵。若是在网页上放上具有这种效果的一段文字,会使整个页面充满生气。当然,用动画做这种效果是不成问题的,但用Javascript来做要瘦小的多。下图是抓取的跳动文字瞬间图:


  图1

  制作方法:
  1、先插入一个1*n表格,这里的n就是要跳动的文字数,把表格的高度定义为70px,实际上表格高度的设定原则是要大于最大的跳动文字。否则在文字跳动时,整个页面都在抖动。然后把文字写入表格中,每个单元格写一个字,由于要在程序中对每个字的属性进行操作,所以还要用<span>标记把字括起来,并给它取一个名字(在本例中是a1、a2、a3......a6),没有名字,程序无法操作。本例的文字部分代码如下:
<table width="90%" height="60" border="0" >
<tr >
<td><span id="a1">赛</span></td>
<td><span id="a2">迪</span></td>
<td><span id="a3">互</span></td>
<td><span id="a4">动</span></td>
<td><span id="a5">学</span></td>
<td><span id="a6">校</span></td>
</tr>
</table>

  2、在<head>与</head>之间插入下面这段程序。程序思路:用Javascript的数学对象中的random()方法,产生一个0-1之间的随机数,并用这个随机数通过运算,获得一个在一定范围内的随机数,用这个数作为文字的颜色、大小的属性值,再用一个定时函数不断地刷新,从而获得预期效果。下面是程序源代码:
<script languae="JavaScript">
<!--
function movetext(){
document.all.a1.style.fontSize=16+Math.floor(Math.random()*24); //改变字大小
document.all.a1.style.lineHeight=1.2; //行高取文字的1.2倍。
c1=Math.floor(Math.random()*256);
c2=Math.floor(Math.random()*256);
c3=Math.floor(Math.random()*256);
document.all.a1.style.color="rgb("+c1+","+c2+","+c3+")"; //改变文字的颜色。
document.all.a2.style.fontSize=16+Math.floor(Math.random()*24);
document.all.a2.style.lineHeight=1.2;
document.all.a2.style.color="rgb("+c2+","+c1+","+c3+")";
document.all.a3.style.fontSize=16+Math.floor(Math.random()*24);
document.all.a3.style.lineHeight=1.2;
document.all.a3.style.color="rgb("+c3+","+c2+","+c1+")";
document.all.a4.style.fontSize=16+Math.floor(Math.random()*24);
document.all.a4.style.lineHeight=1.2;
document.all.a4.style.color="rgb("+c2+","+c3+","+c1+")";
document.all.a5.style.fontSize=16+Math.floor(Math.random()*24);
document.all.a5.style.lineHeight=1.2;
document.all.a5.style.color="rgb("+c1+","+c3+","+c2+")";
document.all.a6.style.fontSize=16+Math.floor(Math.random()*24);
document.all.a6.style.lineHeight=1.2;
document.all.a6.style.color="rgb("+c3+","+c2+","+c1+")";
timer=setTimeout("movetext()",300); //每300毫秒刷新一次。
}
-->
</script>

  程序中的Math.random()的作用是产生一个0-1之间的随机数,那么用Math.random()*N,就可获得0-N之间的随机浮点数;Math.floor的作用是对括号内的数取一个比它小的最大整数,通过Math.floor (Math.random()*N组合,可以获得0-(N-1)之间的随机数,在本例中通过Math.floor(Math.random()*24,获得一个0-23之间的随机整数,Math.floor(Math.random()*256)可获得一个0-255之间的随机整数。这段程序比较简单,不再多作解释了。注:本例中各文字的颜色是通过改变三种颜色数值(c1、c2、c3)的顺序来达到每个文字产生随机颜色。当然也可以仿照本例中第一个文字那样用随机数来产生,但要增加不少运算工作量和代码。
  3、在<body>标记中加入 onload="movetext()",以便这段文字在网页载入时,就跳动起来。
  通过本文的例子,你看用Javascript改变文字的属性多么简单,要牢记的是:在javascript中要对哪个元素操作,必须要有“名字”,也就是ID号。要产生动态效果,setTimeout(function,value)不可少。
  另外请注意:上面的程序只能在IE中正常运行,若要在NS中正常运行,则必须改写,具体修改方法是把document.all.a1.style.改为document.layers["a1"].,其它语句仿此修改。


 赛迪网 


 

更多本栏目内容
??Windows 2000系统安全设置攻略
??Dreamweaver编写CSS需要掌握的技巧
??使用Flash MX过程中的3个小技巧
??拖IE9网站图标到Win7任务栏 精彩好礼任你拿
??从此不再耗流量?Google离线地图试用
??给瑞星添加移动存储自动杀毒功能
??一周壁纸榜单 靓丽风景伴您欢度周末
??金山网络七款软件齐升级 炫丽界面贺新春
??提升网站流量和权重 百度热榜排第一
预警:电商促销引钓鱼 七夕网购需谨慎

本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱