Jquery 通过设置高度动画显示内容(不隐藏所有内容)
我想部分显示一个列表,然后当点击一个按钮时,我想更改按钮的类别,并使用div的全高显示完整列表,然后当再次点击按钮时,我希望它从最初的显示开始,而不是隐藏整个内容 HTML:Jquery 通过设置高度动画显示内容(不隐藏所有内容),jquery,Jquery,我想部分显示一个列表,然后当点击一个按钮时,我想更改按钮的类别,并使用div的全高显示完整列表,然后当再次点击按钮时,我希望它从最初的显示开始,而不是隐藏整个内容 HTML: 您可能需要使用设置动画并自己编写切换机制的代码。大致如下: $("section#newsletters .hide").click(function () { $("section#newsletters nav").animate({ height: "100px"}, 400, functio
您可能需要使用
设置动画
并自己编写切换机制的代码。大致如下:
$("section#newsletters .hide").click(function () {
$("section#newsletters nav").animate({ height: "100px"}, 400,
function() { $("section#newsletters").removeClass("hide").addClass("show"); }
);
});
$("section#newsletters .show").click(function () {
$("section#newsletters nav").animate({ height: "1000px"}, 400,
function() { $("section#newsletters").removeClass("show").addClass("hide"); }
);
});
100px
和1000px
分别是折叠列表和展开列表的高度。您可能需要使用动画
并自己编写切换机制的代码。大致如下:
$("section#newsletters .hide").click(function () {
$("section#newsletters nav").animate({ height: "100px"}, 400,
function() { $("section#newsletters").removeClass("hide").addClass("show"); }
);
});
$("section#newsletters .show").click(function () {
$("section#newsletters nav").animate({ height: "1000px"}, 400,
function() { $("section#newsletters").removeClass("show").addClass("hide"); }
);
});
100px
和1000px
分别是折叠列表和展开列表的高度。您必须创建自己的切换程序。简单明了:
var toggle = true, oldHeight = 0;
$('section#newsletters .hide').click(function(event) {
event.preventDefault();
var $ele = $('section#newsletters nav');
var toHeight = ((toggle = !toggle) ? oldHeight : 20);
oldHeight = $ele.height();
$ele.animate({ height: toHeight });
});
其中“20”是向上滑动时切换到的高度(以像素为单位)
小提琴:您必须创建自己的开关。简单明了:
var toggle = true, oldHeight = 0;
$('section#newsletters .hide').click(function(event) {
event.preventDefault();
var $ele = $('section#newsletters nav');
var toHeight = ((toggle = !toggle) ? oldHeight : 20);
oldHeight = $ele.height();
$ele.animate({ height: toHeight });
});
其中“20”是向上滑动时切换到的高度(以像素为单位)
小提琴:这次讨论促使我为一个几乎相同的问题找到了解决方案。下面是我所用的,我相信你需要的 可以使用三元运算符设置高度变量,然后仅在animate()上使用该变量。可以为animate()设置更多选项我只包括高度。您可以使用相同的方法更改显示/隐藏文本
$('section#newsletters .hide').click(function() {
$(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
var height = $('section#newsletters nav').height() == '[original height]' ? '[new height]' : '[original height]';
$('section#newsletters nav').animate({height:height};
});
例如,如果你想从50px到100px再回到50,你可以:
$('section#newsletters .hide').click(function() {
$(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
var height = $('section#newsletters nav').height() == '50' ? '100' : '50';
$('section#newsletters nav').animate({height:height};
});
这次讨论促使我为一个几乎相同的问题找到了解决方案。下面是我所用的,我相信你需要的 可以使用三元运算符设置高度变量,然后仅在animate()上使用该变量。可以为animate()设置更多选项我只包括高度。您可以使用相同的方法更改显示/隐藏文本
$('section#newsletters .hide').click(function() {
$(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
var height = $('section#newsletters nav').height() == '[original height]' ? '[new height]' : '[original height]';
$('section#newsletters nav').animate({height:height};
});
例如,如果你想从50px到100px再回到50,你可以:
$('section#newsletters .hide').click(function() {
$(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
var height = $('section#newsletters nav').height() == '50' ? '100' : '50';
$('section#newsletters nav').animate({height:height};
});
当我点击它时,其他内容位于此上方,但我猜这与CSS有关…扩展高度也可能不同…它不会总是1000px当我点击它时,其他内容位于此上方,但我猜这与CSS有关…扩展高度也可能不同…它不会总是1000px你的意思是默认情况下,您希望将其隐藏?是的,请。目前它是从全高开始的,我希望它是从初始高度开始的,比如说200或其他什么高度。它返回的高度。您的意思是默认情况下要隐藏它?是的。目前它是从全高开始的,我希望它是从初始高度开始的,比如说200或其他什么高度。它返回到的高度。