- 无间隔循环滚动公告板
- 发布时间:2007-10-06 09:50:46 浏览数:8136 发布者:webptr 设置字体【大 中 小】
<span id="_tv_box" style="width:150;height:100;overflow:hidden" onMouseOver="_tv_start=false" onMouseOut="_tv_start=true">
<span id="_tv_item" style="position:relative;top:0" class=12nr> <br>
50元充值卡 <font color="#FF0000">48元</font><br><br>
100元充值卡 <font color="#FF0000">95元</font><br><br>
旋极IP话机 <font color="#FF0000">0元</font><br><br>
语音网关 <font color="#FF0000">0元</font><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) { // 第一次进入
if(_tv_item.offsetHeight <= _tv_box.offsetHeight) {
return; // 当内容不足以滚动时
}else {
_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>