Javascript jquery:单击多个元素时,然后切换新类
请帮助解决以下问题,我想创建一个脚本,一旦你点击了所有的天蓝色方块,红色方块就会改变显示绿色的类。非常感谢 语言:lang jsJavascript jquery:单击多个元素时,然后切换新类,javascript,jquery,Javascript,Jquery,请帮助解决以下问题,我想创建一个脚本,一旦你点击了所有的天蓝色方块,红色方块就会改变显示绿色的类。非常感谢 语言:lang js var mouse = function(){ $('.bt').click(function(){ $(this).toggleClass('bt2'); }); } var snd = function(){ if ($('#1, #2, #3, #4, #5').hasClass('bt2')){ $('.bt3').toggle
var mouse = function(){
$('.bt').click(function(){
$(this).toggleClass('bt2');
});
}
var snd = function(){
if ($('#1, #2, #3, #4, #5').hasClass('bt2')){
$('.bt3').toggleClass('live');
}
}
$(document).ready(mouse);
$(document).ready(snd);
语言:langcss
.bt {
width:50px;
height:50px;
background-color:deepskyblue;
display:inline-block;
margin-right:25px;
}
.bt2 {
width:50px;
height:50px;
background-color:orange;
display:inline-block;
margin-right:25px;
}
.bt3 {
width:50px;
height:50px;
background-color:red;
display:inline-block;
margin-right:25px;
}
.live {
width:50px;
height:50px;
background-color:green;
display:inline-block;
margin-right:25px;
}
body {
background-color:#121212;
}
语言:lang html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div id="1" class="bt"></div>
<div id="2" class="bt"></div>
<div id="3" class="bt"></div>
<div id="4" class="bt"></div>
<div id="5" class="bt"></div>
<div id="6" class="bt3"></div>
</div>
只需检查
类中是否还有.bt的元素$('.bt').length
expression-它检查类为bt
的元素集合是否有任何成员。如果集合中没有元素,只需切换我们需要变为绿色的元素。我不知道为什么要引入snd
函数。我会移除它
var mouse = function(){
$('.bt').click(function() {
$(this).toggleClass('bt2');
if (!$('.bt').length) {
$('#6').toggleClass('live');
}
});
};
var mouse=function(){
$('.bt')。单击(函数(){
$(this.toggleClass('bt2');
snd();
});
}
var snd=函数(){
if($('.'1,'2,'3,'4,'5')。过滤器('.bt2')。长度===$('.'1,'2,'3,'4,'5')。长度){
$('.bt3').toggleClass('live');
}否则{
$('.bt3').removeClass('live');
}
}
$(文档).ready(鼠标);
美元(文件).ready(snd)代码>
.bt{
宽度:50px;
高度:50px;
背景颜色:深蓝;
显示:内联块;
右边距:25px;
}
.bt2{
宽度:50px;
高度:50px;
背景颜色:橙色;
显示:内联块;
右边距:25px;
}
.bt3{
宽度:50px;
高度:50px;
背景色:红色;
显示:内联块;
右边距:25px;
}
.活{
宽度:50px;
高度:50px;
背景颜色:绿色;
显示:内联块;
右边距:25px;
}
身体{
背景色:#121212;
}
我将您的版本缩短了一点,并添加了live
类的切换:
$(document).ready(function() {
if ($('#1, #2, #3, #4, #5').hasClass('bt2')) {
$('.bt3').toggleClass('live');
}
$('.bt').click(function() {
$(this).toggleClass('bt2');
$('.bt3').toggleClass('live', $('.bt:not(.bt2)').length ? false : true );
});
});
该函数接受第二个参数(布尔值),该参数决定是否删除或添加指定的类。
在这种情况下,状态是通过a来设置的,它检查是否有任何具有类bt
的元素具有类bt2
您将函数分配给变量并将其用于“.ready()”处理程序有什么具体原因吗?您有什么具体问题吗?不知道为什么有人否决了您,所以我平衡了。我不知道怎么走,谢谢!谢谢你提供的详细信息,是的,我需要恢复上一节课。很好。也许你可以添加一些文字来解释为什么这可以解决问题。而这个代码片段可以解决这个问题,真的有助于提高你文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满您的代码,因为这会降低代码和解释的可读性@弗兰克兹,已经添加了解释。希望现在一切都好。