0

到目前为止,这是我的代码,

$("#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);
         });

    });
4

2 回答 2

3

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

切换事件(在 1.9 中移除)

切换效果

于 2013-06-07T02:33:07.327 回答
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);
});

演示:小提琴

于 2013-06-07T02:41:17.387 回答