<div id=demopx style="overflow:hidden; width:314px; height:178px;">
<div id=demopx1> <%
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from model_content where channelid=29",conn,1,1
if not rs.eof then
do while not rs.eof
%>
<li><a href="newsread.asp?id=<%=rs("id")%>"><%if len(rs("title"))>12 then response.write left(rs("title"),12)&"..." else response.write rs("title") end if%>[<%=formatdatetime(rs("addtime"),2)%>]</a></li>
<%
rs.movenext
loop
else
response.write"<li><a href=javascript:void(0)>暂无动态</a></li>"
end if
rs.close
set rs=nothing
%>
</div>
<div id=demopx2></div>
</div>
<script language="javascript">
var speed=50
demopx2.innerHTML=demopx1.innerHTML
function Marquee(){
if(demopx2.offsetTop-demopx.scrollTop<=0)
demopx.scrollTop-=demopx1.offsetHeight
else{
demopx.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
demopx.onmouseover=function() {clearInterval(MyMar)}
demopx.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
代码如上.为什么它只滚动两次就停了?不是连续的么?比如说,我有10条记录,这个时候它会滚动20条,之后就停了.
如果我的记录多了的话,这个还看不出来.但是少了一下子就看出来了.
<div id=demopx1> <%
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from model_content where channelid=29",conn,1,1
if not rs.eof then
do while not rs.eof
%>
<li><a href="newsread.asp?id=<%=rs("id")%>"><%if len(rs("title"))>12 then response.write left(rs("title"),12)&"..." else response.write rs("title") end if%>[<%=formatdatetime(rs("addtime"),2)%>]</a></li>
<%
rs.movenext
loop
else
response.write"<li><a href=javascript:void(0)>暂无动态</a></li>"
end if
rs.close
set rs=nothing
%>
</div>
<div id=demopx2></div>
</div>
<script language="javascript">
var speed=50
demopx2.innerHTML=demopx1.innerHTML
function Marquee(){
if(demopx2.offsetTop-demopx.scrollTop<=0)
demopx.scrollTop-=demopx1.offsetHeight
else{
demopx.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
demopx.onmouseover=function() {clearInterval(MyMar)}
demopx.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
代码如上.为什么它只滚动两次就停了?不是连续的么?比如说,我有10条记录,这个时候它会滚动20条,之后就停了.
如果我的记录多了的话,这个还看不出来.但是少了一下子就看出来了.
不然的话满足不了demopx2.offsetTop<=demopx.scrollTop 这个条件
静态测试例子,点按钮查看demopx2.offsetTop和demopx.scrollTop 的值: <div id=demopx style="overflow:hidden; width:314px; height:90px;">
<div id=demopx1> <li><a href="#">11111111[2010-1-2]</a></li>
<li><a href="#">222222[2010-1-2]</a></li>
<li><a href="#">33333[2010-1-2]</a></li>
<li><a href="#">444444[2010-1-2]</a></li>
<li><a href="#">555555[2010-1-2]</a></li></div>
<div id=demopx2></div>
</div>
<INPUT TYPE="button" VALUE="" ONCLICK="alert(demopx2.offsetTop+'::'+demopx.scrollTop)">
<script language="javascript">
var speed=50
demopx2.innerHTML=demopx1.innerHTML
function Marquee(){
if(demopx2.offsetTop<=demopx.scrollTop)
demopx.scrollTop -= demopx1.offsetHeight;
else{
demopx.scrollTop++;
}
}
var MyMar=setInterval(Marquee,speed)
demopx.onmouseover=function() {clearInterval(MyMar)}
demopx.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>