jQuery开关自动激活



这是我目前的代码,

$("#mobile-menu").toggle(function(){
        $("#nav").animate({height:460},500);
      },function(){
        $("#nav").animate({height:65},500);
     });

我在不同的网站上有一个非常相似的设置,当点击$("#mobile-menu")以增加#nav标签的高度时,它会起作用,但在这种情况下,当页面加载并导致元素动画消失时,代码才开始运行。

我在这里错过了什么?谢谢你

更新

这是我更新的代码,仍然没有如期工作,元素只是消失了。现在如何使用新的jQuery库来完成呢?

$('#mobile-menu').click(function() {
        $("#nav").toggle(function(){
            $(this).animate({height:460},500);
          },function(){
            $(this).animate({height:65},500);
         });
    });

您的其他代码可能使用旧版本的jQuery。这个版本的toggle在1.8中被弃用,在1.9中被删除。这可能是另一个toggle被调用的结果。

切换事件(在1.9中删除)

切换效果

正如前面的回答所说,这是取消对toggle(function(){}, function(){})的支持的结果

var $nav = $("#nav");
$('#mobile-menu').click(function() {
    var toggle = $nav.data('toggle-state');
    $nav.stop().animate({
        height: toggle ? 460 : 65
    }, 500);
    $nav.data('toggle-state', !toggle);
});

演示:小提琴

最新更新