最近研究了下滚动脚本.
为什么#a的overflow:hidden;不要了就停止滚动了.
还有#d的宽度width:900px ,不要了也停止了.
这是为什么啊.哪位大侠说说原理啊.感激!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title><style type="text/css">
#a{ width:474px; height:145px; overflow:hidden; border:none; margin:10px 0;}
#d{float:left;width:900px}
#b ,#c{height:148px;float:left; }
</style>
</head><body>
<div id="a">
<div id="d">
<div id="b">
<ul>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<div class="clear"></div>
</ul>
</div>
<div id="c"></div>
</div>
</div>
<script language="javascript">
var a=document.getElementById("a");
var b=document.getElementById("b");
var c=document.getElementById("c");
var speed=10;
c.innerHTML=b.innerHTML;
function Marquu(){
if(c.offsetWidth - a.scrollLeft<=0)
{
//document.write(a.scrollLeft)
a.scrollLeft= a.scrollLeft-c.offsetWidth;
}else
{
a.scrollLeft++;
}
}
var m=setInterval(Marquu,speed);
a.onmouseover=function() {clearInterval(m);}
a.onmouseout=function() {m=setInterval(Marquu,speed);}
</script>
</body>
</html>
为什么#a的overflow:hidden;不要了就停止滚动了.
还有#d的宽度width:900px ,不要了也停止了.
这是为什么啊.哪位大侠说说原理啊.感激!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title><style type="text/css">
#a{ width:474px; height:145px; overflow:hidden; border:none; margin:10px 0;}
#d{float:left;width:900px}
#b ,#c{height:148px;float:left; }
</style>
</head><body>
<div id="a">
<div id="d">
<div id="b">
<ul>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<li>
<div class="td">
<div class="td1">
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="147" height="126" align="center" valign="middle"><a href=""><img src="images/45_72.jpg" /></a></td>
</tr>
</table>
</div>
</div>
<p><a href="">皙白焕颜乳液</a></p>
</li>
<div class="clear"></div>
</ul>
</div>
<div id="c"></div>
</div>
</div>
<script language="javascript">
var a=document.getElementById("a");
var b=document.getElementById("b");
var c=document.getElementById("c");
var speed=10;
c.innerHTML=b.innerHTML;
function Marquu(){
if(c.offsetWidth - a.scrollLeft<=0)
{
//document.write(a.scrollLeft)
a.scrollLeft= a.scrollLeft-c.offsetWidth;
}else
{
a.scrollLeft++;
}
}
var m=setInterval(Marquu,speed);
a.onmouseover=function() {clearInterval(m);}
a.onmouseout=function() {m=setInterval(Marquu,speed);}
</script>
</body>
</html>
还有#d的宽度width:900px ,不要了也停止了.其实我觉得你如果#a不加overflow:hidden;那么就全部显示了而且a.scrollLeft=0了。
还有#d的宽度width:900px去掉了;那么a.scrollLeft=0,直接显示出来了!说的简单一些就是你外面有宽度,但是不加overflow:hidden;那它的宽度就变宽了,那就是没有滚动的必要了!
如果你里面的#d不加宽度的话那里面的内容将按原有的大小显示。而也将不会滚动了!
(不知道有没有讲明白关键是scolleft)