我想连续运行两个命令,这是我的代码
修改小提琴链接:http://jsfiddle.net/MohamedAref/TLPPw/1/
** HTML **
<div class="album large-11 medium-6 small-11 columns">
<a class="album-link" href="gallery-window.html" onclick="" target="_blank">
<div class="clone_img"></div>
<div class="photos_cont">
<div class="photo"><img src="images/gal_1.jpg"/></div>
<div class="photo"><img src="images/sticker_pic_1.jpg"/></div>
<div class="photo"><img src="images/sticker_pic_2.jpg"/></div>
<div class="photo"><img src="images/sticker_pic_3.jpg"/></div>
</div>
</a>
<a class="album-title" href="">الجمال .. مسابقات و سلالات مختلفة</a>
</div>
** Jquery **
$('.album').click(function(){
var that = $(this);
that.find('.photos_cont .photo').each(function(){
// img_W.push($(this).find('img').naturalWidth);
aimgcopy = $(this).find('img').clone();
that.find('.clone_img').html('').append(aimgcopy);
alert(that.find('.clone_img img').width());
});
});
问题是在克隆操作期间运行警报命令,因此alert()显示&#39; 0&#39; 0作为图像宽度,所以我希望在计算图像宽度之前完成克隆操作。
我怎样才能得到这个结果?
答案 0 :(得分:0)
试试这个:
$('.album').click(function(){
var that = $(this);
that.find('.photos_cont .photo').each(function(){
aimgcopy = $(this).find('img').clone();
$('.clone_img img').load(function(){
alert($(this)[0].height);
});
that.find('.clone_img').html('').append(aimgcopy);
});
});
答案 1 :(得分:0)
这是解决方案
$('.album').click(function(){
var that = $(this);
that.find('.photos_cont .photo').each(function(){
aimgcopy = $(this).find('img').clone();
that.find('.clone_img').html('').append(aimgcopy);
aimgcopy[0].onload = function() {
alert($(this)[0].height);
}
});
});
感谢Milind Anantwar
和Frédéric Hamidi