2012-10-27 来源:网络
【实例名称】
JS代码实现状态栏的分解显示文本特效
【实例描述】
在状态栏中显示一组文本,同时在显示时实现分解显示的效果。可运行代码了解分解显示的特效。
【实例代码】
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页-学无忧(www.xue51.com)</title> <SCRIPT LANGUAGE="JavaScript"> var str="" var direction="left" //文字移动的方向 function craAry(n) { for (var i = 0; i < n; i++) {this[i] = 0}//初始化数组 return this } var js_mult1=3141 var js_mult2=5821 var js_m1=100000000 var js_m2=10000 var js_iseed=0 var js_iseed1=0 var js_iseed2=0
function ArrayRandom(n) //获取一个随机数 { if (js_iseed == 0) { now = new Date() js_iseed = now.getHours() + now.getMinutes() * 60 + now.getSeconds() * 3600 } js_iseed1 = js_iseed / js_m2 js_iseed2 = js_iseed % js_m2 var tmp = (((js_iseed2 * js_mult1 + js_iseed1 * js_mult2) % js_m2) * js_m2 + (js_iseed2 * js_mult2)) % js_m1 js_iseed = (tmp + 1) % js_m1 return (Math.floor((js_iseed/js_m1) * n)) }
msgArray = craAry(5) //初始化要显示的文本信息 msgArray[0] = "伦敦奥运会欢迎您的参与" msgArray[1] = "上海世博会欢迎您的参与" msgArray[2] = "为奥运会作贡献" msgArray[3] = "为世博会作贡献" msgArray[4] = "当一个合格的志愿者"; msg = "" dmsg = ""
function viewMsg() { if (msg == dmsg) { msg = msgArray[ArrayRandom(5)] //获取数组中的一段随机文本 dmsg = "" for (var ii = 0; ii < msg.length; ii++) dmsg += " " viewtime = window.setTimeout('viewMsg()',100) return true } var ii = ArrayRandom(msg.length) var astr = dmsg.substring(0, ii) //间隔式的截取显示文本中的字符 var bstr = msg.substring(ii, ii+1) var cstr = dmsg.substring(ii+1, dmsg.length) dmsg = astr+bstr+cstr window.status = dmsg //状态栏中显示文本信息 viewtime = window.setTimeout('viewMsg()',50)//循环显示状态栏中的信息 return true } </SCRIPT> </head> <body bgcolor="#fef4d9" onload="viewtime = window.setTimeout('viewMsg()',500);"> </body> </html>
【运行效果】
【难点剖析】
本例中的重点是文本数组的随机获取,以及分解字符。随机获取文本数组使用“ArrayRandom”方法,其中使用“Math.noor”方法来获取一个整数。分解字符使用的是字符串对象的“substring”方法,此方法用来截取从指定位置开始到指定位置结束的字符串。
【源码下载】
如果你不愿复制代码及提高代码准确性,你可以点击:JS代码实现状态栏的分解显示文本特效 进行本实例源码下载