我有一個循環遍歷菜單的第一級LI項。我想檢測循環的結束,但是,我得到的打印似乎運行兩次。jQuery - 爲什麼我的循環運行兩次?
這裏是我的JS:
var numNavItems = $("#navigation > li").size() - 1;
$("#navigation > li").each(function(i) {
$(this).delay(i * 300).animate({ opacity: 1 }, 300);
// This runs twice
$("#content").append("<p>Loop number: " + i + " out of " + numNavItems + "</p>");
if(i == numNavItems) {
//$("#navigation li").css({ "opacity" : 1 });
//alert("End! Number of items = " + numNavItems + ". Last item = " + i);
}
});
所以,我的邏輯閃光兩次。不知道爲什麼,它可能是我的嵌套列表?
這裏的HTML ...
<ul id="navigation">
<li class="selected"><a href="./">Home</a></li>
<li><a href="./portfolio/">Portfolio</a>
<ul>
<li><a href="#">Cosmos</a></li>
<li><a href="#">Remora</a></li>
<li><a href="#">Caspian</a></li>
<li><a href="#">Megaway</a></li>
</ul>
</li>
<li><a href="./philosophy/">Philosophy</a></li>
<li><a href="./about/">About</a></li>
<li><a href="./contact/">Contact</a></li>
</ul>
我使用了 「>」 查找只有第一層LI的。
它打印:
Loop number: 0 out of 4
Loop number: 1 out of 4
Loop number: 2 out of 4
Loop number: 3 out of 4
Loop number: 4 out of 4
Loop number: 0 out of 4
Loop number: 1 out of 4
Loop number: 2 out of 4
Loop number: 3 out of 4
Loop number: 4 out of 4
非常感謝您的幫助。 Michael。
當dom準備好時會調用它嗎? –
它似乎只爲我運行一次:http://jsfiddle.net/UBVkn/在那裏可能有一些外部提供的腳本,可能會調用它兩次? –
我檢查了它與jQuery 1.6.2,它運行在一次 – Anatoly