JS实现浏览器状态栏文字从右向左弹出效果代码
作者:企鹅
这篇文章主要介绍了JS实现浏览器状态栏文字从右向左弹出效果,涉及JavaScript结合时间函数遍历字符串及动态改变状态栏显示效果的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了JS实现浏览器状态栏文字从右向左弹出效果。分享给大家供大家参考,具体如下:
这里状态栏文字弹出代码,从右向左弹出,通过修改Script中的这些代码片段可改变效果:
var POSITION = 100
var DELAY = 4
var MESSAGE = "这里是你想要的文字!"
运行效果截图如下:
在线演示地址如下:
http://demo.jb51.net/js/2015/js-status-bar-txt-scroll-codes/
具体代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>状态栏文字弹出代码,从右向左弹出</TITLE> </HEAD> <BODY> <script language="JavaScript"> <!-- function statusMessageObject(p,d) { this.msg = MESSAGE this.out = " " this.pos = POSITION this.delay = DELAY this.i = 0 this.reset = clearMessage } function clearMessage() { this.pos = POSITION } var POSITION = 100 var DELAY = 4 var MESSAGE = "状态栏文字快速的一个一个弹出!!! " var scroll = new statusMessageObject() function scroller() { for (scroll.i = 0; scroll.i < scroll.pos; scroll.i++) { scroll.out += " " } if (scroll.pos >= 0) scroll.out += scroll.msg else scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length) window.status = scroll.out scroll.out = " " scroll.pos-- if (scroll.pos < -(scroll.msg.length)) { scroll.reset() } setTimeout ('scroller()',scroll.delay) } function snapIn(jumpSpaces,position) { var msg = scroll.msg var out = "" for (var i=0; i<position; i++) {out += msg.charAt(i)} for (i=1;i<jumpSpaces;i++) {out += " "} out += msg.charAt(position) window.status = out if (jumpSpaces <= 1) { position++ if (msg.charAt(position) == ' ') {position++ } jumpSpaces = 100-position } else if (jumpSpaces > 3) {jumpSpaces *= .75} else {jumpSpaces--} if (position != msg.length) { var cmd = "snapIn(" + jumpSpaces + "," + position + ")"; scrollID = window.setTimeout(cmd,scroll.delay); } else { window.status="" jumpSpaces=0 position=0 cmd = "snapIn(" + jumpSpaces + "," + position + ")"; scrollID = window.setTimeout(cmd,scroll.delay); return false } return true } snapIn(100,0); // --> </script> </BODY> </HTML>
希望本文所述对大家JavaScript程序设计有所帮助。