Javascript 如何获取此手风琴样式显示/隐藏功能的隐藏div高度?
我正在努力使这个节目顺利进行。当我简单地使用Javascript 如何获取此手风琴样式显示/隐藏功能的隐藏div高度?,javascript,jquery,css,Javascript,Jquery,Css,我正在努力使这个节目顺利进行。当我简单地使用 $(this.find(.less”).toggleClass(“more”) 它工作得很好,但有点神经质,所以我尝试为高度添加.animate,但是无法在jQuery中使用heightauto。我怎样才能让这个手风琴像它制作的那样上下滑动呢 欢迎提出任何建议。这里有一个小提琴的链接: 显示无将从页面中删除布局,因此高度将始终为0。我会将这些元素的opacity设置为0,因为opacity(或visibility:hidden;)将隐藏页面上的元素,
$(this.find(.less”).toggleClass(“more”)代码>
它工作得很好,但有点神经质,所以我尝试为高度添加.animate
,但是无法在jQuery中使用heightauto
。我怎样才能让这个手风琴像它制作的那样上下滑动呢
欢迎提出任何建议。这里有一个小提琴的链接:
显示无将从页面中删除布局,因此高度将始终为0。我会将这些元素的opacity
设置为0
,因为opacity(或visibility:hidden;
)将隐藏页面上的元素,但保持其布局/高度,然后当插件启动时,获取每个元素的高度,分配给数据属性,然后设置固定高度并将不透明度淡入1。然后单击,根据手风琴是否打开的类别设置固定高度或数据属性高度的动画
$(功能手风琴(){
$('.accordion>div')。每个(函数(){
var height=$(this.outerHeight();
$(this).attr('data-height',height);
$(this.addClass('less');
});
$(“.accordion”)。单击(函数(){
var$less=$(this.find('.less'),
高度=$less.attr('data-height')+'px';
美元以下。toggleClass(“开放”);
如果($less.hasClass('open')){
美元以下。动画({
高度:高度,,
}, 400)
}否则{
美元以下。动画({
高度:“20px”,
}, 400)
}
返回false;
});
});代码>
。手风琴环绕{
保证金:自动;
过渡:均为0.5s;
光标:指针;
}
手风琴包装{
填充:30px 20px;
文本对齐:左对齐;
边框:1px实心#dbdb;
过渡:所有500ms线性;
边缘底部:-1px;
}
.手风琴包装。已选定{
边框:1px纯红;
保证金:-1px0;
位置:相对位置;
}
.手风琴环绕按钮,
.手风琴包{
显示:块;
保证金:自动;
}
.手风琴包{
颜色:#0A0A;
}
.手风琴包装。更少,
.手风琴包装.更多{
宽度:80%;
文本对齐:居中;
保证金:0自动;
}
.手风琴包,少一点{
不透明度:1;
高度:20px;
溢出:隐藏;
}
.手风琴>div{
不透明度:0;
转变:不透明度。5s;
}
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。日耳曼科。。
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。日耳曼科。。日耳曼科。。伊普塞
奥皮尼尼伯斯·阿切多,德国的一种。。
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。
Display none从页面中删除布局,因此高度始终为0。我会将这些元素的opacity
设置为0
,因为opacity(或visibility:hidden;
)将隐藏页面上的元素,但保持其布局/高度,然后当插件启动时,获取每个元素的高度,分配给数据属性,然后设置固定高度并将不透明度淡入1。然后单击,根据手风琴是否打开的类别设置固定高度或数据属性高度的动画
$(功能手风琴(){
$('.accordion>div')。每个(函数(){
var height=$(this.outerHeight();
$(this).attr('data-height',height);
$(this.addClass('less');
});
$(“.accordion”)。单击(函数(){
var$less=$(this.find('.less'),
高度=$less.attr('data-height')+'px';
美元以下。toggleClass(“开放”);
如果($less.hasClass('open')){
美元以下。动画({
高度:高度,,
}, 400)
}否则{
美元以下。动画({
高度:“20px”,
}, 400)
}
返回false;
});
});代码>
。手风琴环绕{
保证金:自动;
过渡:均为0.5s;
光标:指针;
}
手风琴包装{
填充:30px 20px;
文本对齐:左对齐;
边框:1px实心#dbdb;
过渡:所有500ms线性;
边缘底部:-1px;
}
.手风琴包装。已选定{
边框:1px纯红;
保证金:-1px0;
位置:相对位置;
}
.手风琴环绕按钮,
.手风琴包{
显示:块;
保证金:自动;
}
.手风琴包{
颜色:#0A0A;
}
.手风琴包装。更少,
.手风琴包装.更多{
宽度:80%;
文本对齐:居中;
保证金:0自动;
}
.手风琴包,少一点{
不透明度:1;
高度:20px;
溢出:隐藏;
}
.手风琴>div{
不透明度:0;
转变:不透明度。5s;
}
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。日耳曼科。。
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。日耳曼科。。日耳曼科。。伊普塞
奥皮尼尼伯斯·阿切多,德国的一种。。
伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊普塞-伊。。。德国波波里酒店。。。
您可以使用属性scrollHeight,因为当
$(function accordion(){
$(".accordion").click(function() {
$(this).find(".less").toggleClass("more");
var height = $('.accordion .less').show().height();
$('.accordion .less').hide();
$('.accordion .less').show();
console.log(height);
if ( ($(this).find('.less').hasClass('more')) ) {
$(this).find('.less').animate({
height: height,
},400)
} else {
$(this).find('.less').animate({
height:"20px",
},400)
}
return false;
});
});