gpt4 book ai didi

javascript - 当 img src 更改时触发事件

转载 作者:行者123 更新时间:2023-11-30 05:39:47 25 4
gpt4 key购买 nike

当用户点击不同的缩略图时,我有一张图片会发生变化。

如何让它可靠地获取即将加载的图像的尺寸?

目前我有:

$('#mainImg').animate({opacity: 0.01}, 500, function() {
$('#mainImg').attr('src', '/cakes/' + file);
setTimeout(function() {
center('#mainImg');
$('#mainImg').animate({opacity: 1.00}, 500);
}, 100)

})

这是一种比我以前拥有的更可靠的解决方法:

$('#mainImg').fadeOut('fast', function(){
$('#mainImg').attr('src', '/cakes/'+file);
center('#mainImg');
$('#mainImg').fadeIn('fast');
})

功能中心目前只有:

function center(imageElement)
{
var ph = $(imageElement).parent().height();
var pw = $(imageElement).parent().width();

var ih = $(imageElement).height();
var iw = $(imageElement).width();
alert(iw)
}

最佳答案

您应该先预加载图片以获得可靠的尺寸。尝试这样的事情:

$('#mainImg').animate({opacity: 0.01}, 500, function() {
var $this = $(this),
src = '/cakes/' + file;
preloadImage(src, function() {
$this.attr('src', src);
center($this);
$this.animate({opacity: 1.00}, 500);
});
});

preloadImage(src, callback) {
var img = new Image();
img.onload = callback;
img.src = src;
}

同时修改 center 函数以使用已经可用的缓存变量:

function center($imageElement) {
var ih = $imageElement[0].height;
var iw = $imageElement[0].width;
alert(iw)
}

关于javascript - 当 img src 更改时触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21495794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com