手风琴可以在移动设备上关闭所有部分,但在平板电脑和台式机上总是打开一个手风琴部分
Accordion that can have all sections closed on mobile, but always has one accordion section open on tablets and desktop
我有一个手风琴,每次只打开一个部分。在台式机/平板电脑的屏幕尺寸上,总是需要有一个部分是打开的,这样就不会有空白区域。但是在移动设备上,这个相同的手风琴将需要关闭所有部分的能力(即,如果你点击一个已经打开的部分,它将关闭,而其他部分不会打开)。
这是我到目前为止的一个概要。似乎嵌套的if else语句没有被触发,并且只使用来自未嵌套的if else语句的else。https://jsfiddle.net/bluebomber/x40jq16L/1/
这是我目前正在使用的jQuery:
$('li').click(function(width) {
var thisClicked = $(this);
if (width <= 767) {
if (thisClicked.hasClass('selected')) {
$('li').removeClass('selected');
} else {
$('li').removeClass('selected');
thisClicked.addClass('selected');
}
} else {
$('li').removeClass('selected');
thisClicked.addClass('selected');
}
});
您使用width
,但是with是一个关于事件单击的信息对象。
如果你使用console.log(width);
,你可以看到对象。试试这个:
$('.tabs.standard > ul > li').click(function(event) {
console.log(event); // event(before called width) is a object, no integer or numeric value...
var thisClicked = $(this),
width = $(this).outerWidth(); // This calculate width
if (width <= 767) {
if (thisClicked.hasClass('selected')) {
$('.tabs.standard > ul > li').removeClass('selected');
} else {
$('.tabs.standard > ul > li').removeClass('selected');
thisClicked.addClass('selected');
}
} else {
$('.tabs.standard > ul > li').removeClass('selected');
thisClicked.addClass('selected');
}
});
了解outerWidth
在这里:http://api.jquery.com/outerwidth/
相关文章:
- 手风琴可点击并悬停
- 响应动画手风琴不工作
- 如何只使用特定的表行构建简单的手风琴
- JQuery-停止手风琴链接关闭所有选项卡
- 如何设置第一个手风琴面板关闭
- 获得多个手风琴部分以保持开放
- 手风琴菜单打开和关闭
- 链接到手风琴中的另一个选项卡,嵌入的链接将不起作用
- 在for循环中仅创建手风琴的内容
- 添加/删除/更改输入文本的部分值
- PHP代理jQuery部分为javascript
- 我怎么能同时去锚定并打开Bootstrap手风琴呢
- Bootstrap折叠手风琴一个面板打开,所有其他面板关闭
- 如果一个手风琴发出咔嗒声,如何最大限度地减少其他手风琴
- JQuery手风琴菜单与mmenu冲突-JQuery 1.4 vs 1.7
- 如何在页面加载时折叠手风琴样式的特定部分
- 手风琴菜单一直打开直到关闭
- 推特引导手风琴折叠功能
- 手风琴剧本冲突
- 两个层次的手风琴除了第一次不起作用