Javascript 检索更新图像src的自然宽度
我正在Rails4中使用jQuery更新图像的src。我也用回形针上传图像 流程:当我第一次单击图像时,它返回拇指宽度(140px)。但是,随后的单击将返回原始图像的自然宽度(1200px) 是否有可能在第一时间获得原始图像的自然宽度 请告知 等待图像加载。图像加载完成后,将调用处理程序 每次更改Javascript 检索更新图像src的自然宽度,javascript,jquery,Javascript,Jquery,我正在Rails4中使用jQuery更新图像的src。我也用回形针上传图像 流程:当我第一次单击图像时,它返回拇指宽度(140px)。但是,随后的单击将返回原始图像的自然宽度(1200px) 是否有可能在第一时间获得原始图像的自然宽度 请告知 等待图像加载。图像加载完成后,将调用处理程序 每次更改图像的src属性时,都会触发此事件 试试这个: $(“.photo”)。在('click',function()上{ this.src=this.src.replace(/thumb/g,'origi
图像的src
属性时,都会触发此事件
试试这个:
$(“.photo”)。在('click',function()上{
this.src=this.src.replace(/thumb/g,'original');
var img=新图像();
img.onload=函数(){
警报(此为自然宽度);
}
img.src=this.src;
}$(“.photo”)。在('click',function()上{
$("等待图像加载..您需要等待图像加载。挂钩到img
元素的load
事件。它很可能对第一个图像有效,因为它已被缓存。感谢您的回复。img.src=this.src;
?我只需要naturalWidth值。对于您的代码,我无法获取它第一次。img.src=this.src;
将设置新图像()的src
属性
对象,它将调用onload
事件..创建一个示例,上面的代码失败了第一次单击时获取naturalWidth太激动了,但是如何在外部函数中使用该值?我尝试了警报(img.naturalWidth);
在单击函数中,但在第一次单击后返回0。这是不正确的,因为它将等待整个图像加载,并且自然宽度和自然高度的更新要快得多。这意味着您将在图像加载时继续使用旧尺寸(可能会以不同的纵横比显示拉伸的图像),并且只在最后更新它,当它开始加载时,您几乎总是希望正确地更新它。我正在查看您的帖子。“仅代码”答案不是一个好主意,除非他们解释问题是如何回答的/问题是在代码中以注释的形式来解决的。是的,你是正确的,顺便说一下,这是我第一次在StAccOppForm中的ANZ,我将对我的建议进行评论。请考虑阅读,以提高你未来答案的质量。谢谢你的链接
$(".photo").on('click', function(){
this.src = this.src.replace(/thumb/g, 'original');
alert(this.naturalWidth);
}
$(".photo").on('click', function(){
$("<img/>")
.attr("src", $(this).attr("src"))
.load(function() {
alert(this.width)
alert(this.height)
});
});