«
用php实现无间隔纵向滚动公告栏

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  <code><!---<br /> 
    无间隔纵向滚动公告栏<br /> 
    绝无marquee的间隔情况<br /> 
    作者:唠叨<br /> 
    e-mail:czjsz_ah@stats.gov.cn<br /> 
    2002.12<br />---><br /><span id="_tv_box" style="width:150;height:60;overflow:hidden" onMouseOver="_tv_start=false" onMouseOut="_tv_start=true"><br /><span id="_tv_item" style="position:relative;top:0"><br /><font color=red>您好!朋友</font><br><br />1.欢迎光临dev-club<br><br />2.<a href="http://www.dev-club.com/club/bbs/bbsView.asp?boardid=31">进入php编程</a><br><br />3.进入joy asp<br><br />4.进入script<br><br />5.在dev-club您将获得最好的帮助<br><br /></span><br /></span><br /><script><br />var _tv_moveSpeed = 50; // 速度控制,两次移动的间隔ms<br />var _tv_movestep = 1; &#160;// 速度控制,每次的移动量px<br />var _tv_post = 0;   &#160;// 工作变量,当前偏移量<br />var _tv_tvheight = 0; &#160;// 工作变量,移动区域的总高度<br />var _tv_start = true; &#160;// 工作变量,运动状态控制<br />/**<br />* 移动控制<br />* 首次调用需有参数<br />*/<br />function tv_item_move(v) {<br /> 
    if(v) { // 第一次进入<br />  
    _tv_item.innerHTML += _tv_item.innerHTML; // 复制移动区域内容,这是本算法的关键<br />  
    _tv_tvheight = _tv_item.offsetHeight;  &#160;// 获取移动区域的总高度<br /> 
    }<br /> 
    if(_tv_start) { // 是移动状态<br />  
    _tv_post -= _tv_movestep; // 计算偏移<br />  
    if(_tv_post+_tv_tvheight < _tv_box.offsetHeight) // 若移动后将露出底部<br />   
    _tv_post += _tv_tvheight/2; // 将偏移上调一段<br />  
    _tv_item.style.pixelTop = _tv_post; // 设置偏移<br /> 
    }<br /> 
    setTimeout('tv_item_move()',_tv_moveSpeed); // 启动定时器<br />}<br />/*** 启动纵向滚动 ***/<br />tv_item_move(1);<br /></script></code></p>