<div align='center' id='demo' style='overflow:hidden;height:130px;width:686px;'>
<%
    set RsPic=server.createobject("adodb.recordset")
    sql="select top 6 * from Info where Ispic=1 and Pw_Good=True ORDER BY id DESC"
    RsPic.open sql,conn,1,1
    if RsPic.eof or RsPic.bof then
    Call NoPic("暂无图文新闻")
    end if
%>
<table align='center' cellpadding='0' cellspace='0' border='0'>
<tr>
<td width="287" valign='top' id='demo1'>
<table width='100%' cellpadding='0' cellspacing='0' border='0' align='center'>
<tr valign='top'>
<%
    do while not RsPic.eof 
%>
<td align='center'>
<%   Call zf11_NewsShowPic(RsPic("Pic"),RsPic(0),RsPic("Title"),110,90,18)%> “建立动态数据库图片信息表格”
</td>
  <%
    RsPic.movenext
    loop
    RsPic.CLOSE
    SET RsPic=Nothing
%>
</tr>
</table>
</td>
<td width="12" valign=top id=demo2></td>
</tr>
</table>
<script>
var speed=15
demo2.innerHTML=demo1.innerHTML
function Marquee1(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else{
demo.scrollLeft++
}
}
var MyMar1=setInterval(Marquee1,speed)
demo.onmouseover=function() {clearInterval(MyMar1)}
demo.onmouseout=function() {MyMar1=setInterval(Marquee1,speed)}
</script>
</div>
问题:1、不知道红色部分的工作原理。2、尤其是“function Marquee1(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else{
demo.scrollLeft++
}
}
”几句麻烦大侠给解释一下,详细一点不甚感激

解决方案 »

  1.   

    if(demo2.offsetWidth-demo.scrollLeft <=0) //demo2左偏移量-demo的横向滚动距离 <=0
    demo.scrollLeft-=demo1.offsetWidth // demo的横向滚动距离 自减 demo1左偏移量
    else{ 
    demo.scrollLeft++ //demo的横向滚动距离自增1

      

  2.   

    这种无缝滚动很旧了,而且工作的不是很好包括兼容性,楼主可以参考一下这个:左右方向无缝滚动:http://www.jslab.org.cn/?tag=scrollLeftRight
      

  3.   

    原理就是把要滚动的内容复制成两个,放到两个table中,然后把这两个TABLE放到同一行里,向同一个方向挪动,如果超过一个TABLE的位置就重新滚动,这样滚动的时候就不会有空隙了
      

  4.   

    overflow:hidden; 改成 overflow:scroll; 这样能看明白了吧