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