<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>
问题:有一个朋友说这个图片滚动的代码的原理是:把要滚动的内容复制成两个,放到两个table中,然后把这两个TABLE放到同一行里,向同一个方向挪动,如果超过一个TABLE的位置就重新滚动。
但还是有点不明白,在我给出的这段代码中并没有将滚动的内容进行复制啊,也没有将内容放到两个table里。demo1与demo2表示的是两个单元格,并且demo2.offsetWidth表示的不是单元格的宽度吗?还有既然是同向滚动,为什么又会超多一个table的位置呢?究竟是什么原理,能不能详细一点,我理解能力有点差?