我正在尝试在单击按钮时添加表单。我有两个问题:为什么新按钮在开始时没有完全隐藏?我试图给它们高度为0和填充等等......为什么显示新按钮动画需要比动画的其余部分更长的时间?
这是我的jQuery代码:
var duration = 3000;
var showWidth = "150px";
var formHidden = true;
var showHeight = $("#cancel-button").outerHeight(true)+"px";
var buttonPadding = $('#cancel-button').css("padding");
var buttonBorder = $('#cancel-button').css("border-width");
$('#new-name').width(0);
$('.hidden-form').height(0);
$('.buttons').css({padding: 0, "border-width": 0});
$('#change-form-button').click(function() {
formHidden = !formHidden;
var labelWidth = formHidden? "0" : showWidth;
var buttonWidth = formHidden? showWidth : "0";
$('#new-name').animate({width: labelWidth}, duration);
$('#change-form-button').animate({width: buttonWidth, padding: "0", "border-width": "0"}, duration);
$('.hidden-form').animate({height: showHeight}, duration);
$('.buttons').animate({padding: buttonPadding, "border-width": buttonBorder}, duration);
return false;
});
答案 0 :(得分:1)
对于隐藏按钮,请使用css prop:display: none;
或者更好的jQuery语句$('。buttons')。css({display:'none'});
要获得更好的动画,请尝试使用.hide()和.show()函数:
$('.buttons').hide("fast");
然后点击
$('.buttons').show();
请看这里:Example on JsFiddle