<!--- 无间隔纵向滚动公告栏 绝无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> (责任编辑:admin) |