【问题标题】:Jquery Accordion : set action to a specific element inside headerJquery Accordion:将操作设置为标题内的特定元素
【发布时间】:2011-02-20 12:23:20
【问题描述】:

默认情况下,如果我们在 jQuery Accordion 中有这样的标题:

<h3>
    <div class="1">TEXT</div>
    <div class="2">ICON</div>
    <div class="3">BUTTON</div>
</h3>

通过单击 this 上的任意位置,手风琴工作并切换下一个元素和 ...

问题是,我们如何设置选项并选择特定元素(例如:'div' with class '1')以单击它并切换手风琴。

我的意思是我不希望整个标题保持可点击状态。我只想单击标题内的图标或 div o 并切换打开/关闭手风琴。

谢谢

更新 1:

HTML:

<div id="testAcc">

    <h3>
        <div class="one">Text</div>
        <div class="two">Icon</div>
        <div class="three">Button</div>
    </h3>
    <div class="accBody">
        text text text text text text text text text text 
    </div>

    <h3>
        <div class="one">Text</div>
        <div class="two">Icon</div>
        <div class="three">Button</div>
    </h3>
    <div class="accBody">
        text text text text text text text text text text 
    </div>

</div>

JS:

$('#testAcc').accordion({
        autoHeight: false,
        header: 'h3',
        collapsible: 'ture',
});

此代码工作正常。但我想使用类似(标题:'h3>.one')的东西意味着我想在标题内设置一个特定的类和元素,然后如果用户仅单击该元素,手风琴将打开或关闭...

【问题讨论】:

  • 向我们展示 javascript,以便我们看到您在做什么......
  • html 和 js 添加。谢谢。

标签: jquery header click accordion


【解决方案1】:

您可以return false 对您不希望有手风琴切换效果的元素使用单击处理程序,如下所示:

$('#testAcc').accordion({
  autoHeight: false,
  header: 'h3',
  collapsible: true
});
$("#testAcc .two, #testAcc .three").click(function() {
  return false;
});
​

You can see a working demo here

【讨论】:

  • 感谢您的回答。但是如果 class .one , .two & .three 有 FLOAT ,那么我们在 H3 中还有一些空白空间。像这样:H3: 如果用户单击该空白区域,手风琴将切换关闭/打开。
  • @J.Tay - 这就是 CSS :) 如果你给 .one 一个边框,你会看到它占用了所有空间,如果你不想要它,你需要改变浮动它的样式或其他东西......jQuery方面是正确的,你确实点击了.one,你需要决定它的宽度:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 2015-04-19
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多