無間隔縱向滾動公告欄
發表于:2007-07-14來源:作者:點擊數:
標簽:
!--- 無間隔縱向滾動公告欄 絕無marquee的間隔情況 作者:嘮叨 e-mail:czjsz_ah@stats.gov.cn 2002.12 --- span id=_tv_box style=width:150;height:60;overflow:hidden onMouseOver=_tv_start=false onMouseOut=_tv_start=true span id=_tv_item style=pos
<!---
無間隔縱向滾動公告欄
絕無marquee的間隔情況
作者:嘮叨
e-mail:czjsz_ah@stats.gov.cn
2002.12
--->
<span id="_tv_box" style="width:150;height:60;overflow:hidden" onMouseOver="_tv_start=false" onMouseOut="_tv_start=true">
<span id="_tv_item" style="position:relative;top:0">
<font color=red>您好!朋友</font><br>
1.歡迎光臨dev-club<br>
2.<a href="http://www.dev-club.com/club/bbs/bbsView.asp?boardid=31">進入
php編程</a><br>
3.進入joy asp<br>
4.進入script<br>
5.在dev-club您將獲得最好的幫助<br>
</span>
</span>
<script>
var _tv_moveSpeed = 50; // 速度控制,兩次移動的間隔ms
var _tv_movestep = 1; // 速度控制,每次的移動量px
var _tv_post = 0; // 工作變量,當前偏移量
var _tv_tvheight = 0; // 工作變量,移動區域的總高度
var _tv_start = true; // 工作變量,運動狀態控制
/**
* 移動控制
* 首次調用需有參數
*/
function tv_item_move(v) {
if(v) { // 第一次進入
_tv_item.innerHTML += _tv_item.innerHTML; // 復制移動區域內容,這是本算法的關鍵
_tv_tvheight = _tv_item.offsetHeight; // 獲取移動區域的總高度
}
if(_tv_start) { // 是移動狀態
_tv_post -= _tv_movestep; // 計算偏移
if(_tv_post+_tv_tvheight < _tv_box.offsetHeight) // 若移動后將露出底部
_tv_post += _tv_tvheight/2; // 將偏移上調一段
_tv_item.style.pixelTop = _tv_post; // 設置偏移
}
setTimeout('tv_item_move()',_tv_moveSpeed); // 啟動定時器
}
/*** 啟動縱向滾動 ***/
tv_item_move(1);
</script>
原文轉自:http://www.anti-gravitydesign.com