当用户将鼠标悬停在图像上时,我正在使用jQuery的transfer()将图像移动到中心相框。这是应该发生的事情:
所有步骤1-5都适用于我的代码,您可以在此jsFiddle中看到。步骤6-7不起作用。就像通过步骤2和步骤2从图像中移除转移代码一样。 3。
答案 0 :(得分:1)
这种情况正在发生,因为您使用one
方法来绑定事件。我修好了,看看这个小提琴here
<强>代码强>
var imgPath = new Object;
imgPath["gen"] = "http://techfeed.net/dyany.com/images/genealogyLarge.png";
imgPath["bo"] = "http://techfeed.net/dyany.com/images/BabyBoSayingOLarge.png";
var lastImage = "";
var transferInProgress = false;
$(function() {
function runTransfer(imgID) {
if(transferInProgress)
return;
transferInProgress = true;
var options = { to: "#picFrame", className: "ui-effects-transfer" };
// run the transfer
$("#"+imgID).effect("transfer", options, 1000, afterTransfer(imgID));
};
function afterTransfer(imgID) {
setTimeout(function() {
$("#picFrame").html('<img src="'+imgPath[imgID]+'">');
$("#"+imgID).hide();
if ((lastImage != "") && (lastImage != imgID)) {
$("#"+lastImage).show();
}
lastImage = imgID;
transferInProgress = false;
}, 1000);
};
$("#gen, #bo").mouseover(function(){runTransfer(this.id); return false; });
});