我正在使用javascript为页面上的所有图片文章添加垂直或水平类。我遇到了代码正常工作的问题,但它总是在文章类中添加.horizontal,甚至是应该有.vertical的照片(包含大于450px高的图像的帖子)。任何帮助将不胜感激。
$('img.photo').each(function(){
if($(this).height() > 450) {
$(this).closest('article').addClass('vertical');
} else {
$(this).closest('article').addClass('horizontal');
}
});
示例:http://blog.jamescharless.com/ 这个男孩的第一张照片高度超过450像素,但没有垂直等级,而是水平。
答案 0 :(得分:3)
高度不符合预期的两个可能原因
答案 1 :(得分:1)
尝试将.each
更改为.load
,以便在每张图片加载后调用该函数:
$('img.photo').load(function(){
if($(this).height() > 450) {
$(this).closest('article').addClass('vertical');
} else {
$(this).closest('article').addClass('horizontal');
}
});