javascript写的图片无缝滚动,向左滚动正常,向右滚动不正常(滚过去第一个就没了),大家帮忙看下如何解决

代码如下:<scripttype="text/javascript">window.onload=function(){varroll=document.getEleme... 代码如下:

<script type="text/javascript">
window.onload=function (){
var roll=document.getElementById('roll');
var ul=roll.getElementsByTagName('ul')[0];
ul.innerHTML+=ul.innerHTML;
var li=ul.getElementsByTagName('li');
var left=document.getElementById('left');
var right=document.getElementById('right');
left.onclick=function (){
speed=-5;
}
right.onclick=function (){
speed=5;
}
ul.onmouseover=function(){
clearInterval(timer);
}
ul.onmouseout=function(){
timer=setInterval(function(){
ul.style.left=ul.offsetLeft+speed+'px';
if(ul.offsetLeft<-ul.offsetWidth/2){
ul.style.left='0px';
}else if(ul.offsetLeft>0){
ul.style.left=-ul.offsetWidth/2;
}
},20);
}
var speed=-5;
var timer=null;
ul.style.width=li[0].offsetWidth*(li.length+1)+'px';

timer=setInterval(function(){
ul.style.left=ul.offsetLeft+speed+'px';
if(ul.offsetLeft<-ul.offsetWidth/2){
ul.style.left='0px';
}
else if(ul.offsetLeft>=0){
ul.style.left=-ul.offsetWidth/2;
}
},20);
}

</script>
</head>

<body>
<div id="roll" class="roll">
<input id="left" value="left" />
<input id="right" value="right" />

<div class="warp">
<ul>
<li><图。。></li>
<li><图。。></li>
<li><图。。></li>
<li><图。。></li>
<li><图。。></li>
<li><图。。></li>
<li><图。。></li>
<li><图。。></li>
</ul>
</div>
</div>
展开
 我来答
xuebaotuxi
2015-03-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4196
采纳率:85%
帮助的人:1035万
展开全部
亲,你可以去搜智能社的javascript视频来看,讲解过程通俗易懂,也有无缝滚动这部分的内容
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4933218
2019-01-16 · TA获得超过247个赞
知道小有建树答主
回答量:393
采纳率:0%
帮助的人:141万
展开全部
第二个判断掉了+'px'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式