Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使JQuery水平折叠在单击时关闭_Javascript_Jquery_Accordion - Fatal编程技术网

Javascript 使JQuery水平折叠在单击时关闭

Javascript 使JQuery水平折叠在单击时关闭,javascript,jquery,accordion,Javascript,Jquery,Accordion,例如: 目前,该脚本允许您单击手风琴的一部分打开它,但设置为在mouseleave上关闭。当我将mouseleave设置为.click时,它会感到困惑,不知道它处于什么状态。我想让它,让你可以点击打开它,然后点击关闭它,而不是mouseleave。下面是控制这一点的代码,完整的脚本在页面源代码中链接的haccordion.js中。如果有人能帮我修改这个脚本,我将非常感激!提前谢谢 $target.click(function(){ haccordion.expandli(

例如:

目前,该脚本允许您单击手风琴的一部分打开它,但设置为在mouseleave上关闭。当我将mouseleave设置为.click时,它会感到困惑,不知道它处于什么状态。我想让它,让你可以点击打开它,然后点击关闭它,而不是mouseleave。下面是控制这一点的代码,完整的脚本在页面源代码中链接的haccordion.js中。如果有人能帮我修改这个脚本,我将非常感激!提前谢谢

$target.click(function(){
            haccordion.expandli(config.accordionid, this)
                    config.$lastexpanded=$(this)
  })
            if (config.collapsecurrent){ //if previous content should be contracted when expanding current
                    $target.mouseleave(function(){
                          $(this).stop().animate({width:config.paneldimensions.peekw}, config.speed)
  })
  }

您可以设置一个布尔变量来表示手风琴是否打开,只需单击它即可。(您还需要在单击时切换变量的状态)

编辑:

好的,试试这个。设置布尔全局变量(在单击事件之外),如下所示:

var accordion_expanded = false;
然后在您的点击事件中执行以下操作:(我没有测试过,所以您可能需要稍微按摩一下以适应您的环境)

在展开手风琴的功能中,输入以下内容:

accordion_expanded = true;
在你收缩手风琴的功能中

if(accordion_expanded == true){
   //Contract accordion code goes here

   accordion_expanded == false;
}
祝你好运

试试这个

$('.accordion-item-header').click(function() {
    var item = $(this).parent().find('.accordion-item-body');
    item.toggleClass('open').animate({
        width:item.hasClass('open') ? 0: 100 
    }, 100).toggleClass('open');
});

考虑使用jQuiel.UI手风琴谢谢。不幸的是,我是一个javascript/JQuery初学者,不知道如何编写代码来实现这一点。有什么建议或代码示例吗?你能解释一下如何使用它吗?我是一个JQuery新手,不知道如何使用我正在使用的脚本来处理这个问题。