jQuery切换激活自己

时间:2013-06-07 02:30:48

标签: 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);
         });

    });

2 个答案:

答案 0 :(得分:3)

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

Toggle Event (removed in 1.9)

Toggle Effect

答案 1 :(得分:1)

正如之前的回答所说,这是取消对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);
});

演示:Fiddle