Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
从<;切换div jQuery;李>;点击_Jquery_Menu_Toggle_Addclass - Fatal编程技术网

从<;切换div jQuery;李>;点击

从<;切换div jQuery;李>;点击,jquery,menu,toggle,addclass,Jquery,Menu,Toggle,Addclass,我试图将类“openheight”添加到div中,并在列表项之间单击时保留该类。然后在单击同一列表项时删除该类 $('#navlist a').click(function(e) { e.preventDefault(); //prevent the link from being followed $('#navlist a').removeClass('selected'); $(this).addClass('selected'); if($(this)

我试图将类“openheight”添加到div中,并在列表项之间单击时保留该类。然后在单击同一列表项时删除该类

$('#navlist a').click(function(e) {
    e.preventDefault(); //prevent the link from being followed
    $('#navlist a').removeClass('selected');
    $(this).addClass('selected');

    if($(this).hasClass('selected')) {
      $('.single-course-wrapp').toggleClass('open-height');
    } else {
      $('.single-course-wrapp').addClass('open-height');
    }
});

您可以使用
data-*
属性来实现这一点,方法是将li的id存储在div中由属性打开的
数据上,然后在单击的项具有存储在data属性上的相同id时,设置条件从中删除类:

$(“#导航列表a”)。单击(函数(e){
e、 preventDefault();//防止链接被跟踪
$(“#导航列表a”).removeClass('selected');
$(this.addClass('selected');
if($('.single-course wrapp').hasClass('open-height')){
var opener_id=$('.single-course wrapp')。数据('opened-by');
if($(this).parent().attr('id')==开场白\u id){
$('.single-CourseWrapp')。removeClass('open-height');
}
}否则{
$('.single-CourseWrapp').addClass('露天高度');
$('.single-course wrapp').data('opened-by',$(this.parent().attr('id'));
}
});
.nav{color:green;}
.选定{颜色:红色;}
1.开放高度{
高度:200px;
宽度:200px;
背景:#000;
过渡:所有0.6秒缓解0.3秒;
}


谢谢Zakaria!谢谢你的回答。唯一的问题是,如果我第一次点击Home,第二次点击About,第三次点击About,它应该会关闭这个框。可能吗?