[英]jQuery multiple classes toggle on click
Im having an issue using jQuery with multiple classes to toggle. 我在使用带有多个类的jQuery进行切换时遇到问题。 I have this code:
我有以下代码:
$(function(){
$(".mobile_btn").on("click", function(){
$(".main_nav").toggleClass("mobile_active");
});
});
what this does is when the user click the .mobile_btn the .main_nav will toggle with the .mobile_active class. 这是当用户单击.mobile_btn时 , .main_nav将与.mobile_active类一起切换。 Moreover i would like to insert .container and .container_active and i want them to toggle at the same time as the .main_nav with .mobile_active .
此外,我想插入.container和.container_active ,我希望它们与带有.mobile_active的.main_nav同时切换 。 So basically my code should look like this:
因此,基本上我的代码应如下所示:
$(function(){
$(".mobile_btn").on("click", function(){
$(".main_nav, .container").toggleClass("mobile_active container_active");
});
});
I have tried this but it is not working. 我已经尝试过了,但是没有用。 Any ideas of how to fix this issue?
关于如何解决此问题的任何想法?
Thanks 谢谢
You can write like this : 您可以这样写:
$(function(){ $(".mobile_btn").on("click", function(){ $(".main_nav").toggleClass("mobile_active"); $(".container").toggleClass("container_active"); }); });
Another idea is use function as argument. 另一个想法是使用函数作为参数。
$(function() {
$(".mobile_btn").on("click", function() {
$(".main_nav, .container").toggleClass(function() {
return $(this).hasClass('main_nav') ? 'mobile_active' : 'container_active';
});
});
});
(not suggest, just an option) (不建议,只是一个选择)
Did you test your code? 您是否测试过代码? Because it works.
因为它有效。 See the demo.
参见演示。 You don't have
.container
in your HTML. 您的HTML中没有
.container
。
Snippet 片段
$(function(){ $(".mobile_btn").on("click", function(){ $(".main_nav, .container").toggleClass("mobile_active container_active"); }); });
.container {outline: 3px dashed green; width: 300px; height: 90px;} .main_nav {outline: 2px solid blue; width: 100%; height: 30px; } .mobile_btn { width: 70px; line-height: 1.5; cursor: pointer; } .main_nav.mobile_active { outline: 3px solid red; background: rgba(255,0,0,.6); color: #CCC; } .container.container_active{outline: 5px solid #0f0; background: rgba(0,255,0,.3); color: #888; } .main_nav:after { content:'MOBILE INACTIVE';} .main_nav.mobile_active:after { content:'MOBILE ACTIVE';} .container:after { content:'CONTAINER EMPTY';} .container.container_active:after { content:'CONTAINER FULL';}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <section class="container"> <nav class="main_nav"> <button class="mobile_btn">SWITCH</button> </nav> </section>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.