-1

好的,这个问题有点奇怪,很难解释,所以我试一试这个想法似乎很容易

单击 div 上的任意位置,div 宽度从 450 到 1400px 隐藏页面上的其他两个 div 并添加一个 img 以单击以在右上角关闭它。完毕。

现在单击 img 和 div 调整大小为 450px 和其他 div 回来并关闭 img 隐藏。完毕。

我的问题是点击img后。它调整大小,然后返回到 1400px 并隐藏其他 2 个开始再次显示的 div。我不希望它回到 div 点击事件。

这是jQuery。

$(document).ready(function() {
 $(".close").hide();
 $("#leftdiv").click(function(){

  $("#leftdiv").animate({
   width: "1400px",
   height: "450px"
    },1000);
    $("#middlediv, #rightdiv").hide(500);
    $(".close").show(500);

$("#leftdiv").css({"-webkit-animation":"bounce 0s 0s"});

});

$("#leftdiv .close").click(function(){
    $("#leftdiv").stop().animate({
        width: "450px",
        height: "450px"
    },1000);
$(".close").hide();
       $("#middlediv, #rightdiv").show(500);
       });    
   });

我正在尝试学习 jquery 我之前只做过 html css 所以我想把我的大脑包裹在它周围很想知道如何做 Jquery

4

1 回答 1

0

您可能想要使用类似的东西,本质上是在不需要时添加和删除点击处理程序。

$("#leftdiv").on('click', leftDivClickHandler);

function leftDivClickHandler(event)
{
    $("#leftdiv").off('click', leftDivClickHandler);

    $("#leftdiv").animate({
        width: "1400px",
        height: "450px"
    },1000, function() {
        $("#leftdiv .close").on('click', closeDiv);
    });
    $("#middlediv, #rightdiv").hide(500);
    $(".close").show(500);

    $("#leftdiv").css({"-webkit-animation":"bounce 0s 0s"});

  });
  event.preventDefault();
}

function closeDiv(event) 
{
    $("#leftdiv .close").off('click', closeDiv);

    $("#leftdiv").stop().animate({
        width: "450px",
        height: "450px"
    },1000, function() {
         $("#leftdiv").on('click', leftDivClickHandler);
    });

    $(".close").hide();
    $("#middlediv, #rightdiv").show(500);

    event.preventDefault();
}
于 2012-06-21T02:41:19.463 回答