我有點麻煩jQuery通過一組html代碼循環。我寫了一個有條件的腳本,用於檢測圖像是否爲縱向或橫向,併爲其添加類。這個工作孤立地很好,但現在我需要檢測的多個實例在同一頁上...jquery循環使用。每個來檢測寬度和高度
<li>
<figure class="eventimage">
<img class="" src="images/home1.jpg">
</figure>
<div>
some other code that is not important
</div>
</li>
<li>
<figure class="eventimage">
<img class="" src="images/home2.jpg">
</figure>
<div>
some other code that is not important
</div>
</li>
<li>
<figure class="eventimage">
<img class="" src="images/home3.jpg">
</figure>
<div>
some other code that is not important
</div>
</li>
<li>
<figure class="eventimage">
<img class="" src="images/home4.jpg">
</figure>
<div>
some other code that is not important
</div>
</li>
因此,我認爲它走。每個方法的優點...
$(".eventimage img").each(function() {
if (.width() > .height()){
//it's a landscape
$(this).addClass("landscape");
} else if (.width() < .height()){
//it's a portrait
$(this).addClass("portrait");
} else {
$(this).addClass("canttell");
}
});
我問題是每個img標籤輸出完全相同的結果,我的測試圖像是景觀和肖像的好混合,所以有些東西是不對的。
任何人都可以幫忙嗎?
' (.width()<.height()){' - ehh,'.width()'不是以元素開頭的? – tymeJV
無法使用'.width()'和'.height()'而無需使用上下文。什麼元素的寬度和高度? – JJJ
我不認爲JS會立即知道圖像的大小,因爲它需要不同的時間來加載圖像。這篇文章介紹瞭如何使用onload事件。 http://stackoverflow.com/questions/623172/how-to-get-image-size-height-width-using-javascript(不是接受的答案,但與356 upvotes之一) – Dave