Не уверен, правильно ли я это делаю или нет.
Вот мой .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
, затем вернуть его обратно. Поэтому я пытаюсь вернуть его обратно с помощью обратного вызова из .attr()
.
Если я делаю это неправильно, может кто-нибудь объяснить, пожалуйста, лучший способ сделать это? Причина, по которой я пытаюсь сделать это в обратном вызове, заключается в том, что мне нужно, чтобы fadeTo появлялся только после полной загрузки нового изображения, в противном случае он немного мигает.
Я использую jQuery 1.4, и, согласно http://jquery14.com/day-01/jquery-14, вы можете сделать обратный вызов в методе .attr()
.