[英]JQUERY, When an LI is clicked and the click was not on an <A href> Toggle
[英]Toggle div jQuery from <li> click
我试图将类“ open-height”添加到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-opened-by
属性中,然后使条件仅在所单击的项目具有存储在data属性中的相同id时才从该类中删除该类:
$('#navlist a').click(function(e) { e.preventDefault(); //prevent the link from being followed $('#navlist a').removeClass('selected'); $(this).addClass('selected'); if($('.single-course-wrapp').hasClass('open-height')){ var opener_id = $('.single-course-wrapp').data('opened-by'); if($(this).parent().attr('id')==opener_id){ $('.single-course-wrapp').removeClass('open-height'); } }else{ $('.single-course-wrapp').addClass('open-height'); $('.single-course-wrapp').data('opened-by', $(this).parent().attr('id')); } });
.nav { color: green; } .selected { color: red; } .open-height{ height:200px; width:200px; background:#000; transition: all 0.6s ease 0.3s; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul id="navlist"> <li id="home"><a class="nav" href="home">Home</a></li> <li id="about"><a class="nav" href="about-us">About Us</a></li> <li id="service"><a class="nav" href="about-us">Service</a></li> <li id="contact"><a class="nav" href="about-us">Contact</a></li> </ul> <div class="single-course-wrapp"> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.