jQuery Accordion 单击一次展开/单击时折叠

标签 jquery accordion double-click

我从这里下载了我的 Accordion :http://www.snyderplace.com/demos/accordion.html我的老板告诉我,他希望在用户单击每个标题时打开和关闭该功能。

例如,当您单击一个标题时,它将打开,当您单击另一个标题时,该标题也会打开,但之前打开的标题不会关闭,除非再次单击该标题。

我能够通过更改代码来实现这一点:

    animateClose: function (elem, opts) {

对此:

    animateClose: function (elem) {

现在的问题是标题需要单击一次而不是两次。有办法解决这个问题吗?

这是完整的代码:

    <script type="text/javascript">
    $(document).ready(function() {

    //syntax highlighter
    hljs.tabReplace = ' ';
    hljs.initHighlightingOnLoad();

    //accordion
    $('h3.accordion').accordion({
    defaultOpen: 'section1',
    cookieName: 'accordion_nav',
    speed: 'slow',
    animateOpen: function (elem, opts) { //replace the standard slideUp with custom function
    elem.next().slideFadeToggle(opts.speed);
    },
    animateClose: function (elem) { //replace the standard slideDown with custom function
    elem.next().slideFadeToggle(opts.speed);
    }
    });
    $('h3.accordion2').accordion({
    defaultOpen: 'sample-1',
    cookieName: 'accordion2_nav',
    speed: 'slow',
    cssClose: 'accordion2-close', //class you want to assign to a closed accordion header
    cssOpen: 'accordion2-open',
    });

    //custom animation for open/close
    $.fn.slideFadeToggle = function(speed, easing, callback) {
    return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);
    };

    });
</script>

最佳答案

<强> jsBin demo

HTML:

  <div class="accordion">
    <h3>Title 1</h3>
    <div>Content 1...</div>
    <h3>Title 2</h3>
    <div>Content 2...</div>  
    <h3>Title 3</h3>
    <div>Content 3...</div>  
    <h3>Title 4</h3>
    <div>Content 4...</div>  
  </div>

jQuery:

var $accordionIO = $('.accordion h3');
$accordionIO.next('div:gt(0)').hide(); // hide all but first section

$accordionIO.click(function(){
  $(this).next('div').slideToggle();
});

关于jQuery Accordion 单击一次展开/单击时折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13122010/

相关文章:

javascript - 如何使用 Firefox SDK(用于插件)检测双击选择的文本?

jquery - HTML-CSS;为层次结构中的每个下一个嵌套 ul li 添加 5px 到 margin-left

javascript - Phonegap AJAX 请求未定义

jquery - 使用JQuery延迟进度和通知方法的前端/后端技术

html - Twitter Bootstrap - 从 Accordion 折叠中排除元素

javascript - 将第二个子导航添加到 Accordion 样式菜单

javascript - Jquery通过 'data-id'选择元素

jquery - Accordion 动画在将高度设置为自动时损坏!重要

delphi - 双击 TVirtualTreeView (TVirtualStringTree) 标题时如何阻止排序符号隐藏

Android MediaSession 回调。在耳机上将双击解释为 SKIP_TO_NEXT