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

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

我一個一個for循環不能很好的執行?

我一個一個for循環不能很好的執行?

? ? for (var i = 0; i < nav.length; i++) {? ? ? ?nav[i].onclick = function () {? ? ? ? ? ?for (var j = 2; j < Content.length; j++) {? ? ? ? ? ? ? ?if ((i + 2) ==j) {? ? ? ? ? ? ? ? ? ?//startMove(Content[j], { opacity: 100, left: 28, });? ? ? ? ? ? ? ? ? ?alert('nihao');? ? ? ? ? ? ? ?}? ? ? ? ? ? ? ?else {? ? ? ? ? ? ? ? ? ?startMove(Content[j], { opacity: 0 });? ? ? ? ? ? ? ?}? ? ? ? ? ? ? ?}? ? ? ? ? ?}? ? ? ?}為什么這個循環中?? ?if ((i + 2) ==j)這個條件下的函數完全不執行?
查看完整描述

6 回答

已采納
?
地獄快車_666

TA貢獻4條經驗 獲得超0個贊

你的i有問題,i你定義在function外面。你的i并不能傳到下面的function里。典型的閉包問題。建議你看下作用域。

查看完整回答
反對 回復 2016-08-24
  • weibo_張張張張張大仙呀_03578611
    weibo_張張張張張大仙呀_03578611
    麻煩幫我修改一下代碼唄,謝謝
  • 地獄快車_666
    地獄快車_666
    for (var i = 0; i < nav.length; i++) { nav[i].index=i nav[i].onclick = function () { for (var j = 2; j < Content.length; j++) { if ((this.index + 2) ==j) { //startMove(Content[j], { opacity: 100, left: 28, }); alert('nihao'); } else { startMove(Content[j], { opacity: 0 }); } } } }
  • weibo_張張張張張大仙呀_03578611
    weibo_張張張張張大仙呀_03578611
    謝謝,可以運行了。 nav[i].index=i這句是什么意思,這個.index是什么概念呢?
點擊展開后面2
?
雪舞薔薇

TA貢獻51條經驗 獲得超16個贊

?? ?nav[i].onclick 你的js代碼中有個單機事件 ?單機后進入下一個for循環拋出提示,我認為單擊時并不能保證 i 值繼續向下傳

建議把 ?單擊事件 ?寫在第二個 ?for 循環里。

查看完整回答
反對 回復 2016-08-24
?
LEO_117

TA貢獻2條經驗 獲得超1個贊

首先確認下是if((i+2)==j)里面不執行 還是else里面也不執行,也就是確認你的for循環判斷語句到底進來了沒,如果進來了,沒執行if而執行了else,那你對i和j分別進行打印看看值

查看完整回答
反對 回復 2016-08-24
  • weibo_張張張張張大仙呀_03578611
    weibo_張張張張張大仙呀_03578611
    為什么我把i打印出來i的值一直是5呀?
  • LEO_117
    LEO_117
    你分別在第一個,第二個for循環里面去打印i的值 ,加以區分開,然后在for循環之外也打印 你就可以看到整體的i值得變化了啊 自我感覺 應該是跟你for循環里面的條件有關
?
qyy2499760117_葉子

TA貢獻188條經驗 獲得超91個贊

你調試一下,每執行一次,觀察i/j的變化。

查看完整回答
反對 回復 2016-08-24
  • 6 回答
  • 0 關注
  • 1973 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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