scrollTop和scrollLeft属性只有当他内部元素超出父级元素的时候才有效,否则将一直为0,设置了也没用。
<!--#include file="include/conn.asp"-->
<link href="include/wuliu.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body {
background-color: #FFFFFF;
}
-->
</style><TABLE cellSpacing=0 cellPadding=0 width=920 align=center border=0>
<TBODY>
<TR>
<TD>
<DIV id=demoj style="OVERFLOW: hidden; WIDTH: 100%; COLOR: #ffffff">
<TABLE cellSpacing=0 cellPadding=0 align=left border=0 cellspace="0">
<TBODY>
<TR>
<TD id=demok valign="top">
<table width="1860" height="99" border="0" cellpadding="0" cellspacing="0">
<tr>
<%
set adoRSt=server.createobject("adodb.recordset")
sql="select top 20 * from db_page where PageMode=2 order by id desc"
'response.write sql
'response.End
adoRSt.open sql,conn,1,1
i=1
do while not adoRSt.eof
%>
<%
set adoRStp=server.createobject("adodb.recordset")
sqlp="select * from db_channel where pageID="&adoRSt("pageID")
adoRStp.open sqlp,conn,1,1
%>
<% if adoRStp("RootID")=2 then %>
<td width="126" valign="top" >
<table width="100%" border="0" cellspacing="2" cellpadding="0" align="center" height="130">
<tr>
<td height="105" valign="top" align="center"><span id="largeImgindex" > <a href="/page/default.asp?ID=<%=adoRSt("ID")%>" target="_blank" ><img src="<%=adoRSt("smallimg")%>" border="0" width="116" height="99" /></a></td>
</tr>
<tr>
<td valign="top" align="center" height="25"><a href="/page/default.asp?ID=<%=adoRSt("ID")%>" target="_blank" ><%=adoRSt("title")%></a></td>
</tr>
</table>
</td>
<% else %>
<% end if %>
<%
i=i+1
adoRSt.movenext
loop
adoRSt.close
%>
</tr>
</table>
</TD>
<TD id=demol vAlign=top> </TD></TR></TBODY></TABLE></DIV>
</TD></TR></TBODY></TABLE></TD></TR></TABLE>
<div id="demom">test</div>
<div id="demon">test</div>
<script type="text/javascript">
var speed3=30;
i=0;
demol.innerHTML=demok.innerHTML ;
function Marquee3(){
if(demol.offsetWidth-i<=0)
i -= demok.offsetWidth ;
else{
//alert(i);
i++;
demoj.scrollLeft=i;
//demoj.style.left=i;
demom.innerHTML=demoj.scrollLeft;
demon.innerHTML=i;
}
}
var MyMar1=setInterval(Marquee3,speed3) ;
demoj.onmouseover=function() {clearInterval(MyMar1)}
demoj.onmouseout=function() {MyMar1=setInterval(Marquee3,speed3)}
</script>
这是一个滚动图片的代码 ,在IE8下可以正常滚动,在IE11和谷歌下就不滚动了,
解决方案是把demoj的width由100% 改为 920
因为当demoj的width是100%时在IE11和谷歌下它的width不是父窗体的大小(920)而是子窗体(demok+demol)的大小
所以子窗体demok+demol的大小不会大于它的父窗体(demoj)的大小,所以导致scrollLeft的值一直为零,也就无法滚动了。