87,907
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style type="text/css">
#ss{ width:130px;height:88px;margin:0 auto;overflow: hidden;white-space: nowrap;background:#ffffff; border:1px solid #000000}
#ss ul{margin:0px; padding:0px;}
#ss ul li{ margin:0px; padding:0px; list-style:none; display:inline;}
</style>
<body>
<div id='ss'>
<ul>
<li><img src="http://img1.qq.com/news/pics/17522/17522502.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515126.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515135.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515141.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17522/17522502.jpg"/></li>
</ul>
</div>
<div id='s'></div>
<script>
/////////////////////////////////////////////////////////////////////////////////
var Tween = {
Elastic: {
easeOut: function(t,b,c,d,a,p){
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
}
}
}
/////////////////////////////////////////////////////////////////////////////////
function $(Id){return document.getElementById(Id)};
var n = $('ss').getElementsByTagName('li').length-1;
var w = $('ss').getElementsByTagName('li')[0].offsetWidth;
var i=0,t=0,b=0,c=w,d=110;
function Run(){
$('ss').scrollLeft = Math.ceil(Tween.Elastic.easeOut(t,b,c,d));
if(t<d)
{ t++;setTimeout(Run, 10);}
else{
if(i==(n-1))
{$('ss').scrollLeft=0;i=0,b=0,c=w,t=0}
else
{t=0,b=c,c=c+w,i++;} //这里b=c 和c=c+w 就是重新赋值了 感觉按每次移动一个图片大小的位置来看 没有错误呀, 为什么效果会不对了?
$('s').innerHTML=$('ss').scrollLeft;setTimeout(Run, 1000);
}
};
setTimeout(Run,2000);
</script>
</body>
<style type="text/css">
#ss{ width:130px;height:88px;margin:0 auto;overflow: hidden;white-space: nowrap;background:#ffffff; border:1px solid #000000}
#ss ul{margin:0px; padding:0px;}
#ss ul li{ margin:0px; padding:0px; list-style:none; display:inline;}
</style>
<body>
<div id='ss'>
<ul>
<li><img src="http://img1.qq.com/news/pics/17522/17522502.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515126.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515135.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515141.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17522/17522502.jpg"/></li>
</ul>
</div>
<div id='s'></div>
<li><img src="http://img1.qq.com/news/pics/17522/17522502.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515126.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515135.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17515/17515141.jpg"/></li>
<li><img src="http://img1.qq.com/news/pics/17522/17522502.jpg"/></li>
<script>
/////////////////////////////////////////////////////////////////////////////////
var Tween = {
Elastic: {
easeOut: function(t,b,c,d,a,p){
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
}
}
}
/////////////////////////////////////////////////////////////////////////////////
function $(Id){return document.getElementById(Id)};
var n = $('ss').getElementsByTagName('li').length-1;
var w = $('ss').getElementsByTagName('li')[0].offsetWidth;
var i=0,t=0,b=0,c=w,d=110;
function Run(){
$('ss').scrollLeft = Math.ceil(Tween.Elastic.easeOut(t,b,c,d));
if(t<d)
{ t++;setTimeout(Run, 10);}
else{
if(i==(n-1))
{$('ss').scrollLeft=0;i=0,b=0,c=w,t=0}
else
{i++;t=0,b=i*w,c=w;}
$('s').innerHTML=$('ss').scrollLeft;setTimeout(Run, 1000);
}
};
setTimeout(Run,2000);
</script>
</body>