默认情况下,打开所有可折叠的内容,并禁用折叠超过设置的屏幕大小
default open all accordion content and disable collapse over set screen size
对于我的网站设计,我需要一个手风琴式菜单,用于小于7英寸水平平板电脑的屏幕,以及一个普通的水平菜单,用于所有内容都充当一个页面网站(因此所有手风琴部分都设置为打开)。
我没有使用JQuery手风琴或任何其他预先制作的版本,因为我自己的设计中有一些视觉方面不支持。
我使用的JS和CSS切换了两个classes.accordion部分(默认)和.expand,当点击带有class.按钮的文本链接时,它就会激活。
$(document).ready(function() {
var accordionPanels = $('.accordion-section');
$( ".button" ).on("click", function() {
$(this).next(".accordion-section").toggleClass("expand");
});
});
expand类看起来是这样的。我扩展了div的高度,而不是实际显示隐藏部分,因为我有一个背景图像,当部分关闭时需要可见,但打开时保持可见并对齐。
div.accordion-section.expand {
height: auto
}
当屏幕超过特定大小时,我基本上想将这个类应用于所有部分,并确保点击.button链接不会将部分恢复为.arconable内容。
我希望这比我自己做的更简单。我可能可以通过媒体查询来做到这一点,但我认为JS仍然会干扰,而且它看起来很笨重,没有必要。
注意:我还没有水平菜单,但这没有问题,我只需要现在正确显示页面。
这不是很容易吗?
.accordion-section {
height: auto;
}
@media only screen and (max-width: 640px){
.accordion-section {
height: 0;
}
.accordion-section.expand {
height: auto;
}
}
这样一来,expand
类只在小屏幕上有效。即使它在大屏幕上被添加/删除,它也不会有任何作用。
我无法将上面的答案标记为正确答案,因为它不起作用@克里斯蒂安314159非常感谢你让我走上正轨,我真的想得太多了。
我只需要这个小部分:
@media only screen and (min-width: 640px){
div.accordion-section {
height: auto;
}
}
相关文章:
- 如何设置html元素填充的动画
- 需要帮助设置json数组
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 数组在递归方法中设置为null
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- Ext JS 5.1:当可折叠为true时,无法对面板进行标题设置
- 为d3.js可折叠树设置背景
- 引导 NAV 方式在移动设备中折叠或展开时设置颜色样式
- 引导折叠式刷新设置
- 具有查询 UI 折叠项的自定义绑定的选项设置
- 我们如何在famo.us中设置曲面折叠的动画
- 如何使按钮折叠后设置为隐藏在asp.net中的javascript
- 将值设置为Backbone.Model中的折叠默认值
- 引导下拉菜单设置显示:当折叠时无
- 为Angular JS中正在折叠的Bootstrap DIV设置一个默认的打开状态
- 默认情况下,打开所有可折叠的内容,并禁用折叠超过设置的屏幕大小
- 在内部 DIV 展开/折叠后设置周围 DIV 的高度
- 设置无序列表的样式和折叠
- D3.js可折叠树 - 可视化设置的级别数