在状态栏字符发散、集合的效果

- 中国WEB开发者网络 (http://www.webasp.net)
-- 网页特效 (http://www.webasp.net/javascript/)
--- 在状态栏字符发散、集合的效果 (http://www.webasp.net/javascript/1/173.htm)
-- 发布日期: 2004-06-15
<!-- 网页特效代码由[中国WEB开发者网络:http://www.ChinaWebDev.com]提供! -->
<!-- 要实现此效果需要 2 个步骤: -->

<!-- 第 1 步: -->
<!-- 把下面的代码加到<HEAD></HEAD>区域中: -->

<script language="javascript">

<!-- Hide this script from old browsers --

var speed = 10

var pause = 1500

var timerID = null

var bannerRunning = false

var ar = new Array()



ar[0] = "欢迎来到www.webasp.net! "

ar[1] = "欢迎光临中国WEB开发者网络"

ar[2] = "请多提意见,谢谢! "



var message = 0

var state = ""

clearState()

function stopBanner() {

if (bannerRunning)

clearTimeout(timerID)

bannerRunning = false

}



function startBanner() {

stopBanner()

showBanner()

}

function clearState() {

state = ""

for (var i = 0; i < ar[message].length; ++i) {

state += "0"

}

}

function showBanner() {

if (getString()) {

message++

if (ar.length <= message)

message = 0

clearState()

timerID = setTimeout("showBanner()", pause)

bannerRunning = true

} else {

var str = ""

for (var j = 0; j < state.length; ++j) {

str += (state.charAt(j) == "1") ? ar[message].charAt(j) : " "

}

window.status = str

timerID = setTimeout("showBanner()", speed)

bannerRunning = true

}

}

function getString() {

var full = true

for (var j = 0; j < state.length; ++j) {

if (state.charAt(j) == 0)

full = false

}

if (full)

return true

while (1) {

var num = getRandom(ar[message].length)

if (state.charAt(num) == "0")

break

}

state = state.substring(0, num) + "1" + state.substring(num + 1, state.length)

return false

}

function getRandom(max) {

return Math.round((max - 1) * Math.random())

}

// -- End Hiding Here -->

</script>




<!-- 第 2 步: -->
<!-- 把<BODY>中的属性代码改为: -->

<BODY onLoad="startBanner()">




webasp.net