到目前为止,这是我的代码,
$("#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);
});
});
答案 0 :(得分:3)
您的其他代码可能使用旧版本的jQuery。此版本的toggle
在1.8中已弃用,在1.9中已删除。这可能是另一个toggle
被调用的结果。
答案 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