如何实现JS代码状态栏的分解显示文本特效的功能?
在状态栏中显示一组文本,同时在显示时实现分解显示的效果。可运行代码了解分解显示的特效。/titleSCRIPT LANGUAGE=JavaScriptvar str=var direction=left //文字移动的方向function craAry(n){ for (var i = 0; i n; i++) {this[i] = 0}//初始化数组 return this}var js_mult1=3141var js_mult2=5821var js_m1=100000000var js_m2=10000var js_iseed=0var js_iseed1=0var js_ise...全部
在状态栏中显示一组文本,同时在显示时实现分解显示的效果。可运行代码了解分解显示的特效。/titleSCRIPT LANGUAGE=JavaScriptvar str=var direction=left //文字移动的方向function craAry(n){ for (var i = 0; i n; i++) {this[i] = 0}//初始化数组 return this}var js_mult1=3141var js_mult2=5821var js_m1=100000000var js_m2=10000var js_iseed=0var js_iseed1=0var js_iseed2=0function 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/headbody bgcolor=#fef4d9 onload=viewtime = window。
setTimeout('viewMsg()',500);/body/html【运行效果】【难点剖析】本例中的重点是文本数组的随机获取,以及分解字符。随机获取文本数组使用“ArrayRandom”方法,其中使用“Math.noor”方法来获取一个整数。
分解字符使用的是字符串对象的“substring”方法,此方法用来截取从指定位置开始到指定位置结束的字符串。收起