示例:http://vincent-massaro.com/map/
目前,该脚本允许您单击手风琴的一部分以打开它,但它设置为在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)
})
}
答案 0 :(得分:0)
您可以设置一个布尔变量来表示手风琴是否打开,只需点击即可查看。 (您还需要在点击时切换变量的状态)
编辑:
好的尝试一下。设置一个布尔全局变量(在click事件之外),如下所示:
var accordion_expanded = false;
然后在您的点击事件中执行以下操作:(我没有对此进行测试,因此您可能需要按摩它以适应您的情况)
在扩展手风琴的功能中输入:
accordion_expanded = true;
在你收缩手风琴的功能中做一个
if(accordion_expanded == true){
//Contract accordion code goes here
accordion_expanded == false;
}
祝你好运!
答案 1 :(得分:0)
尝试使用此
$('.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');
});