首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >状态变化后jQuery函数消失

状态变化后jQuery函数消失
EN

Stack Overflow用户
提问于 2011-08-09 03:05:08
回答 1查看 97关注 0票数 0

当用户将鼠标悬停在图像上时,我使用jQuery的transfer()将图像移动到中心画框。下面是应该发生的事情:

  1. 用户将鼠标悬停在缩略图上。
  2. 缩略图转移到页面中心的画框。
  3. 缩略图消失了。
  4. 用户悬停在第二个缩略图上。
  5. 此缩略图取代中间帧中的其他图片,第一缩略图再次出现。
  6. 用户再次停留在第一个缩略图上。
  7. 重复步骤2-3.

所有步骤1-5都在我的代码中工作,您可以在这个jsFiddle中看到这一点。第6-7步不起作用.这就好像传输代码是从图像中移除的步骤2和步骤3一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-09 03:11:15

之所以发生这种情况,是因为您使用one方法绑定事件。我把它修好了看看这个小提琴这里

代码语言:javascript
复制
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; });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6990972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档