【发布时间】:2010-03-12 20:00:09
【问题描述】:
不确定我这样做是否正确。
这是我的.js:
var currentIMG;
$( '.leftMenuProductButton' ).hover(function () {
currentIMG = $("#swapImg").attr("src");
var swapIMG = $(this).next(".menuPopup").attr("id");
$("#swapImg").css("opacity", 0)
.attr("src", productImages[swapIMG], function(){
$("#swapImg").fadeTo("slow", 1);
});
}, function () {
$("#swapImg").stop().attr("src",currentIMG);
});
我想要做的是将 IMG 不透明度设置为 0 (#swapImg),将其替换为 src,然后将其淡入。所以我试图使用来自 @987654326 的回调将其淡入@。
如果我做错了,有人可以解释一下更好的方法吗?我尝试在回调中执行此操作的原因是,我需要仅在新图像完全加载后才发生 fadeTo,否则它会有点闪烁。
我使用的是 jQuery 1.4,根据http://jquery14.com/day-01/jquery-14 看来您可以在.attr() 方法中进行回调。
【问题讨论】:
-
在您的#swampImg 回调中,您可以使用$(this) 来引用$('#swapImg')。