是什么用来代替toggleEvent用于.click函数?

时间:2013-03-29 17:09:22

标签: jquery

由于jQuery 1.9, toggleEvent 不再存在,所以我尝试做类似的事情:当有人点击.trigger时,div#map变得更大,点击再次,div#map变得更小。

$(".trigger").click(function(){ 
  $("#map").animate({height: '400px'}, 550, function() { $(".trigger").text("see small");
  });
}, function(){
  $("#map").animate({height: '205px'}, 250, function() { $(".trigger").text("see big");
  });
});

如果我在1.8.3中使用“切换”它工作正常,但我想在1.9.1中运行而我不知道如何。

1.8.3中运行的代码示例:http://jsfiddle.net/EZ9My/

2 个答案:

答案 0 :(得分:1)

var isSmall = false;
var trigger = $(".trigger").click(function(){
    if (isSmall)
        $("#map").animate({height: '400px'}, 550, function() { trigger.text("see small"); });
    else
        $("#map").animate({height: '205px'}, 250, function() { trigger.text("see big"); });

    isSmall = !isSmall;
});

答案 1 :(得分:0)

试试这个:

 $(".trigger").click(function(){
     if($("#map").css('height') == '400px'){
       $("#map").stop().animate({height:'205px'},550);
       $(this).text("see big");
     };
     if($("#map").css('height') == '205px'){
        $("#map").stop().animate({height:'400px'},250);
         $(this).text("see small");
     };
 });

jsFiddle http://jsfiddle.net/EZ9My/1/