我正在使用href链接和可折叠标题制作手风琴菜单。问题是,当我单击子手风琴时,它会折叠父级。有什么解决方法吗?
<ul class="accordion">
<li>
<a class="acc-header" href="http://www.google.com">menu - level 1</a>
<h3>+</h3>
<ul class="accordion">
<li>
<a class="acc-header" href="http://www.google.com">menu - level 2-1</a>
<h3>+</h3>
<ul class="accordion">menu - level 3</ul>
</li>
<li>menu - level 2-2</li>
</ul>
</li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$( ".accordion" ).accordion({
header: "h3",
collapsible: true,
heightStyle: "content",
active: false,
icons: false,
animate: 200,
});
});
</script>
这是更新的版本,它正在工作。解决方案是使用“event.stop传播()
”(如@Renan Arajo所述)并删除手风琴上的标题设置。
https://codepen.io/CocoSkin/pen/vRQyZP
由于从锚点元素中触发了click事件,相应的正在关闭。
使用停止传播来防止来自锚点的嗡嗡声:
$( ".accordion a" ).click(function(e) {
e.stopPropagation();
});
我建议您阅读有关事件冒泡的内容,并检查stopPropagation方法。
我有一个自定义手风琴,像jQuery UI手风琴。我还试图使任何展开的项目可折叠(如果再次单击)。类似这样:https://jqueryui.com/accordion/#collapsible但是我不知道如何在当前扩展的项目上捕获另一个单击事件。有人能给我指一下正确的方向吗? 我的jQuery如下所示: 这是jsbin:http://jsbin.com/hazaxunuwa/edit?html,
我正在使用jQuery手风琴来隐藏一些数据。 accordion标题是一个带有一些标题的表格。有一个标题,我不希望你点击它,因为手风琴事件会触发。 所以 手风琴是可折叠的,如果您单击Test2(类nofunction),手风琴事件不应触发。但是如果您单击Test或其他表头,手风琴应该会触发事件。 我可以添加这个功能吗? 更新测试http://jsfiddle.net/e3Q8d/,包括jQuery
在手风琴菜单中单击href时,我在向两个元素添加类时遇到问题。删除“当前”类的实例,将“当前”类添加到单击的子菜单项及其父项。我已经让手风琴工作,只要我点击父菜单项,子菜单就会出现。在本例中,我的意思是我单击“第二个”并显示“项目2.1”和“项目2.1”。单击“第三个”和“第二个”,其子项将隐藏,而第三个及其子项将显示。我想做的是,单击一个子元素后,将“当前”添加到该子href元素及其父href(
我尝试了以下代码,除了图标外,一切都很好。我试图在Google上找到一些解决方案,但我找不到我正在寻找的解决方案。 当我点击其中一个手风琴时,另一个手风琴应该折叠,当前点击的手风琴应该打开,同时fa图标应该根据手风琴的位置而改变。 这是我到目前为止已经尝试过的
手风琴布局Accordion Layout 通常,手风琴布局可以这样实现: <div class="accordion-list"> <div class="accordion-item"> <div class="accordion-item-toggle">...</div> <div class="accordion-item-content">...
手风琴效果其实就是通过JS改变元素的height,然后加上transition来让css动起来。 准备HTML结构 这里我们使用 dl , 因为 dt 刚好可以模拟标题, dd 模拟内容。 <div class="panel"> <dl> <dt>One Item</dt> <dd>One Item Content .</dd>