关于scrollLeft的赋值问题

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>&nbsp;</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的值一直为零,也就无法滚动了。


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值