上面的 SlideDown 表单固定 header 不向上滑动
SlideDown form above fixed header not sliding back up
我正在尝试在固定 header 上方放置一个下拉表单。我可以让 div 向下滑动,但我无法让它向上滑动。
这是我的fiddle...http://jsfiddle.net/amesy/w83dwwpL/
我已经改编了 fiddle 形式的代码,可以在这里找到 http://jsfiddle.net/darcyclarke/JNRpK/28/light/
如您所见,原始 fiddle 没有使用相同的按钮关闭 div 元素。
未使用下面代码中的宽度动画。
$(document).ready(function () {
var open = 0;
$( ".contact a" ).addClass( "open" );
$(".contact a.close").bind("click", function(e){
$("#contactContainer").animate({"height":"0px"}, 1000);
$( ".contact a" ).removeClass( "close" );
$( ".contact a" ).addClass( "open" );
open = 0;
});
$(".contact a.open").bind("click", function(e){
$("#contactContainer").animateAuto("height", 1000);
$( ".contact a" ).removeClass( "open" );
$( ".contact a" ).addClass( "close" );
open = 1;
});
jQuery.fn.animateAuto = function(prop, speed, callback){
var elem, height, width;
return this.each(function(i, el){
el = jQuery(el), elem = el.clone().css({"height":"auto","width":"auto"}).appendTo("body");
height = elem.css("height"),
width = elem.css("width"),
elem.remove();
if(prop === "height")
el.animate({"height":height}, speed, callback);
else if(prop === "width")
el.animate({"width":width}, speed, callback);
else if(prop === "both")
el.animate({"width":width,"height":height}, speed, callback);
});
}
});
你可以简单地使用切换来完成。(你不需要使用打开和关闭class)
使用下面的代码。
$("#contactContainer").animate({"height":"toggle"}, 1000);
我正在尝试在固定 header 上方放置一个下拉表单。我可以让 div 向下滑动,但我无法让它向上滑动。
这是我的fiddle...http://jsfiddle.net/amesy/w83dwwpL/
我已经改编了 fiddle 形式的代码,可以在这里找到 http://jsfiddle.net/darcyclarke/JNRpK/28/light/
如您所见,原始 fiddle 没有使用相同的按钮关闭 div 元素。
未使用下面代码中的宽度动画。
$(document).ready(function () {
var open = 0;
$( ".contact a" ).addClass( "open" );
$(".contact a.close").bind("click", function(e){
$("#contactContainer").animate({"height":"0px"}, 1000);
$( ".contact a" ).removeClass( "close" );
$( ".contact a" ).addClass( "open" );
open = 0;
});
$(".contact a.open").bind("click", function(e){
$("#contactContainer").animateAuto("height", 1000);
$( ".contact a" ).removeClass( "open" );
$( ".contact a" ).addClass( "close" );
open = 1;
});
jQuery.fn.animateAuto = function(prop, speed, callback){
var elem, height, width;
return this.each(function(i, el){
el = jQuery(el), elem = el.clone().css({"height":"auto","width":"auto"}).appendTo("body");
height = elem.css("height"),
width = elem.css("width"),
elem.remove();
if(prop === "height")
el.animate({"height":height}, speed, callback);
else if(prop === "width")
el.animate({"width":width}, speed, callback);
else if(prop === "both")
el.animate({"width":width,"height":height}, speed, callback);
});
}
});
你可以简单地使用切换来完成。(你不需要使用打开和关闭class)
使用下面的代码。
$("#contactContainer").animate({"height":"toggle"}, 1000);