⑴ js圖片無縫滾動代碼,滾動一周就停了,求解答
這是網上找的代碼吧,這個代碼有BUG,就是如果內容太少,小於滾動容器的滾動距離的話,就無法連續滾動.解決的辦法,要麼修改代碼,要麼增加填充的內容到超過出容器.
⑵ JavaScript我這個無縫滾動為什麼還有明顯的停頓
卡頓的問題有兩個因素影響了,一個是:向左移動的速度必須為div寬度能整除的數,要不減到最後判斷的時候會有餘量。二個是:判斷的時候已經到了邊界了,所以應該執行下一次。修改的例子:
<!doctypehtml>
<html>
<head>
<metacharset="utf-8">
<title>無縫滾動</title>
<styletype="text/css">
*{margin:0;padding:0;}
#div2{width:600px;overflow:hidden;position:relative;left:200px;}
#div1{position:relative;left:0px;width:1200px;}
#div1li{list-style-type:none;float:left;width:200px;height:180px;
}
img{width:100%;height:100%;}
</style>
<script>
window.onload=function(){
varoUl=document.getElementById('ul1');
varoDiv=document.getElementById('div1');
varoBtn=document.getElementById('btn1');
vart=0;
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
varspeed=20;//速度,必須是oUl.offsetWidth能整除的數;
oBtn.onclick=function(){
clearInterval(t);
t=setInterval(function(){
if(oDiv.offsetLeft<=-oUl.offsetWidth/2){
oDiv.style.left=-speed+'px';//因為判斷的時候已經到了邊界了,所以應該執行下次
}else{
oDiv.style.left=oDiv.offsetLeft-speed+'px';
}
},50);
}
}
</script>
</head>
<body>
<inputid="btn1"value="開始"type="button"/>
<divid="div2">
<divid="div1">
<ulid="ul1">
<li><imgsrc="1.jpg"></li>
<li><imgsrc="2.jpg"></li>
<li><imgsrc="3.jpg"></li>
</ul>
</div>
</div>
</body>
</html>