在我的jquery代码中,我希望将菜单向上滑动,从而向上移动用于单击它的按钮。我希望这可以在同一时间发生,但我还没有找到同时在不同的div上做两种方法。
我正在使用的当前javascript是:
$( "#mobile-menu-button" ).click(function() {
if ($("#mobile-menu").css("display") == "block") {
$('#mobile-menu').slideUp("slow");
$('#mobile-menu-button').animate({top:"0px" }, 700 );
var h = $('.navigation').css("height").replace("px", "");
}
else{
$('#mobile-menu').slideDown("slow");
var h = $('.navigation').css("height").replace("px", "");
$('#mobile-menu-button').animate({top:h},300);
}
});
这是我当前代码的缩写:http://jsfiddle.net/FM92V/
答案 0 :(得分:1)
为了以任何方式移动元素(或为它们设置动画),时间必须相同。如果用字符串' slow'替换毫秒,它就能正常工作。
$( "#mobile-menu-button" ).click(function() {
if ($("#mobile-menu").css("display") == "block") {
$('#mobile-menu').slideUp("slow");
$('#mobile-menu-button').animate({top:"0px" }, 'slow');
var h = $('.navigation').css("height").replace("px", "");
}
else{
$('#mobile-menu').slideDown("slow");
var h = $('.navigation').css("height").replace("px", "");
$('#mobile-menu-button').animate({top:h},'slow');
}
});
更新了jsFiddle:http://jsfiddle.net/FM92V/2/。另外,从CSS中的height:75%
中移除#mobile-menu