亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js圖片切換出現問題

js圖片切換出現問題

慕仙6733315 2016-09-30 11:06:30
每次當圖片left值為600和-3600時會出現空白怎么解決啊??求教各位大神!<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css">*{padding:0; margin:0; text-decoration:none;}body{padding:20px;}#container{width:600px; height:400px; border:3px solid black; overflow: hidden; position: relative;margin:0 auto ;}#list{width: 4200px; height: 400px; position: absolute; z-index: 1;}?#list img{float:left;}#buttons{position: absolute; height: 10px; width: 100px;z-index: 2; bottom: 20px; left:250px; }#buttons span{cursor: pointer; float:left;border:1px solid #fff;width:10px;height: 10px;border-radius: 50%;background: #333; margin-right: 5px; }#buttons .on{background: orangered;}.arrow{cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 40px; ?position: absolute; z-index: 2;?top: 180px; background-color: RGBA(0,0,0,.3); color: #fff;}?.arrow:hover { background-color: RGBA(0,0,0,.7);}?#container:hover .arrow { display: block;}?#prev { left: 20px;}#next { right: 20px;} </style> </head> <body> <!--父容器--><div id="container"><div id="list" style="left:600;">? ?<img src="img/5.jpg" alt="1"/>? ? ?<img src="img/1.jpg" alt="1"/>? ? ?<img src="img/2.jpg" alt="2"/>? ? ? <img src="img/3.jpg" alt="3"/>? ? ? <img src="img/4.jpg" alt="4"/>? ? ? <img src="img/5.jpg" alt="5"/>? ? ?</div> <div id="buttons"><span class="on"></span><span ></span>? <span></span><span></span><span></span></div>?<a href="javascript:;" id="prev" class="arrow">&lt;</a>? ? <a href="javascript:;" id="next" class="arrow">&gt;</a></div> </body> <script type="text/javascript" src="js庫/mySefl.js"></script> <script type="text/javascript"> window.onload=function(){ var container=$("container"); var List=$("list"); var oImg=List.getElementsByTagName('img'); var Btn=$('buttons').getElementsByTagName('span'); var Prev=$("prev"); var Next=$("next"); var iNow=0; var arr=[]; //把圖片放入數組 List.style.width=oImg.length*oImg[0].offsetWidth+"px"; for(var i=0;i<oImg.length;i++){ arr.push(oImg[i]); } //上一張 Prev.onclick=function(){ if(iNow==-1){ iNow=arr.length-1; List.style.left=-List.offsetWidth/6; } moveLeft(List,-iNow*oImg[0].offsetWidth,-(iNow-1)*oImg[0].offsetWidth); iNow--; } //下一張 Next.onclick=function(){ if(iNow==arr.length){ iNow=0; List.style.left=-List.offsetWidth/6; } moveLeft(List,-iNow*oImg[0].offsetWidth,-(iNow+1)*oImg[0].offsetWidth); iNow++; } } //滾動緩沖函數 function moveLeft(obj,old,now){ clearInterval(obj.timer); obj.timer=setInterval(function(){ //設置緩沖時間 var ispeed=(now-old)/10; ispeed=ispeed>0?Math.ceil(ispeed):Math.floor(ispeed); if(now==old){ clearInterval(obj.timer); }else{ old=ispeed+old; obj.style.left=old+'px'; } },30) } </script></html>
查看完整描述

2 回答

已采納
?
逆光之羽

TA貢獻55條經驗 獲得超13個贊

還好自定義文件里面只有一個簡單的$函數? 自己補了一個總算能調了 真心給跪

你寫的圖片切換函數本身有問題,你用的應該是6張600px寬的圖片進行切換吧?明明left屬性的取值范圍應該在0到3000px之間才正好顯示那6張,但是你寫的函數把600px和-3600px都跑出來了.....那位置本來就不存在圖片肯定是空白吧.....

在你原來程序上稍微改了下,切換函數改成下面這個就行了

//上一張

Prev.onclick=function(){

if(iNow==0){

iNow=arr.length;

}

moveLeft(List,-iNow*oImg[0].offsetWidth,-(iNow-1)*oImg[0].offsetWidth);

iNow--;

}

//下一張

Next.onclick=function(){

if(iNow==arr.length-1){

iNow=-1;

}

moveLeft(List,-iNow*oImg[0].offsetWidth,-(iNow+1)*oImg[0].offsetWidth);

iNow++;

}

}

查看完整回答
反對 回復 2016-09-30
  • 2 回答
  • 0 關注
  • 1556 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號