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

為了賬號安全,請及時綁定郵箱和手機立即綁定

求助!這段代碼哪里錯了???大神指點迷津

<script>
??? window.onload=function(){
?? ???? var box=document.getElementsByTagName("div");
?? ??? ?var imgs=box.getElementsByTagName("img");
?? ??? ?var imgWidth=imgs[0].offsetWidth;
?? ??? ?var exposedWidth=300;
?? ??? ?var boxWidth=imgWidth+exposedWidth*(imgs.length-1);
??????? box.style.width=boxWidth+"px";
?? ??? ?function setImgsPos(){
?? ??? ??? ?for(var i=1,len=imgs.length;i<len;i++){
?? ??? ???????? imgs[i].style.left=imgWidth+exposedWidth*(i-1)+"px";
?? ??? ??? ?};
?? ??? ?}
?? ??? ?setImgsPos();
?? ??? ?var translate=imgWidth-exposedWidth;
?? ??? ?for(var i=0,len=imgs.length;i<len;i++){
?? ??? ???? (function(i){
?? ??? ??? ???? imgs[i].onmouseover=function(){
?? ??? ??? ??? ??? ?setImgsPos();
??????????????????? for(var j=1,j<=i;j++){
?? ??? ??? ??? ??? ???? imgs[j].style.left=parseInt(imgs[j].style.left,10)-translate+"px";
?? ??? ??? ??? ??? ?};
?? ??? ??? ??? ?};
?? ??? ??? ?}(i));
?? ??? ?};
?? ?};
??? </script>

正在回答

3 回答

不是冒號,是分號。;;;;;;;;;;;;;;


0 回復 有任何疑惑可以回復我~
#1

九方名座 提問者

是的,被你帶溝里了。。。
2016-11-13 回復 有任何疑惑可以回復我~
#2

yuyu391 回復 九方名座 提問者

嗯,我把分號 當成 冒號了。 還不如直接打;;;;;;;;;;;;;
2016-11-13 回復 有任何疑惑可以回復我~


for(var?i=1,len=imgs.length;i<len;i++){
????????????????imgs[i].style.left=imgWidth+exposedWidth*(i-1)+"px";
????????????};

后面沒有冒號

for?(var?i?=?0,?len?=?imgs.length;?i?<?len;?i++)?{
		//使用立即調用的函數表答式,為了獲得不同的i值
		(function(i)?{
			imgs[i].onmouseover?=?function()?{
				//先將每道門復位
				setImgsPos();
				//打開門
				for?(var?j?=?1;?j?<=?i;?j++)?{
					imgs[j].style.left?=?parseInt(imgs[j].style.left,?10)?-?translate?+?'px';
				}
			};
		})(i);
	}

冒號 有無 自己對應的看下

最后的

??};
????</script>

也沒有 冒號

0 回復 有任何疑惑可以回復我~
#1

九方名座 提問者

冒號沒有影響的
2016-11-13 回復 有任何疑惑可以回復我~
#2

九方名座 提問者 回復 九方名座 提問者

有分號規范一點
2016-11-13 回復 有任何疑惑可以回復我~

1.花括號后面不要加分號

2.第三個for循環的條件寫錯了,var j=1后面應該改為分號,應該這樣寫為for(var j=1;j<=i;j++)

3.開頭和結尾的<script></script>不要

4.還有你沒寫,圖片的初始位置,還有移動的距離

?5.var box=document.getElementsByTagName("div");改為,是獲取id

var box = document.getElementById('div');

6.第三個for循環

for(var j=1;j<=i;j++){
? ?imgs[j].style.left=parseInt(imgs[j].style.left,10)-translate+"px";
}

執行語句里的imgs[j]改為imgs[i],如下

for(var j=1;j<=i;j++){
? ?imgs[j].style.left=parseInt(imgs[i].style.left,10)-translate+"px";
}

7.最后的(i),放在括號之外--->)(i);

我也不知道說什么,加油!

0 回復 有任何疑惑可以回復我~
#1

九方名座 提問者

除了第二點其他的并不是錯誤,改為分號后還是沒能解決問題,共勉!
2016-11-13 回復 有任何疑惑可以回復我~
#2

DD慕帆 回復 九方名座 提問者

但是我把你的代碼,改了,可以運行
2016-11-13 回復 有任何疑惑可以回復我~
#3

九方名座 提問者 回復 DD慕帆

改了哪些?
2016-11-13 回復 有任何疑惑可以回復我~
#4

DD慕帆 回復 九方名座 提問者

說的那些
2016-11-13 回復 有任何疑惑可以回復我~
#5

九方名座 提問者 回復 DD慕帆

你把本來對的都改錯了能運行?
2016-11-13 回復 有任何疑惑可以回復我~
#6

DD慕帆

首先,你只是貼出了代碼的一部分,你確定你其他的都寫對? 還有我第一次知道循環語句花括號后面要加;
2016-11-13 回復 有任何疑惑可以回復我~
查看3條回復

舉報

0/150
提交
取消

求助!這段代碼哪里錯了啊?大神指點迷津

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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