第二次单击时丢失原始变量引用

时间:2011-03-25 10:49:39

标签: javascript jquery html

新手:)

我正在尝试使用描述组合创建一张图片。它在第一次点击缩略图时可以正常使用,但是第二次点击,在页面上找不到描述。它几乎就像它使用了描述一样,扔掉它。我如何确保不会发生这种情况?要将描述放回html中的原始位置,还是以其他方式?试图保持这种简单,但不断变得更复杂。这就是设计师外包lol。

的原因

testpage:HTTP://www.tsmillie.com/portfolio2.html

代码:

$(".gallery a:has(img)").click(function() {

    var largePath = $(this).attr("href");
    var image = $(".photo_large");
        image.fadeOut('500', function () {
        image.attr({ src: largePath }) ;
        image.fadeIn('500');
                      });
    var description = $(this).next(".description").css("display", "inline");
    $(".caption").html(description);
      return false;
          });

2 个答案:

答案 0 :(得分:1)

尝试更改为:

$(".gallery a:has(img)").click(function() {
    var largePath = $(this).attr("href");
    var image = $(".photo_large");
    image.fadeOut('500', function () {
        image.attr({ src: largePath }) ;
        image.fadeIn('500');
    });
    var description = $(this).next(".description");
    $(".caption").html(description.clone().css("display", "inline")); // <---- Changed
    return false;
});

我认为它是将描述移到标题而不是复制html,这是我想你想做的事情?

它现在克隆内容并在标题中显示。

答案 1 :(得分:0)

正如InfernalBadger所说,您将description元素的引用添加到.caption元素,当您替换.caption的内容时,您将删除之前的描述DOM