[英]Creating a click event with a addClass/removeClass, click count, and using localStorage to keep user from clicking again later on
[英]jQuery addClass click and removeClass when click again
我有一个没有颜色的盒子。 如果框是click()
,它将addClass('.red')
使其变红,如果再次单击,框颜色变为蓝色。 他们交替改变。 而且我不知道如何制作它。
<div class='box'></div>
.box {
width: 250px;
height: 100px;
border: 1px #000 solid;
}
.red {
background: red;
}
.blue {
background: blue;
}
$('div').click(function() {
$(this).addClass('red');
});
尝试使用toggleClass
$('div').click(function() {
$(this).toggleClass("red");
});
如果你想切换2 classes
red
和blue
2 classes
,那么使用like
$('div').click(function() {
$(this).toggleClass("red blue");
});
如果要从白色更改为红色,然后从红色更改为蓝色,则不能使用toggleClass()
。 您必须编写一些简单的条件来决定要添加哪个类:
$('div').click(function() {
var $this = $(this);
if ($this.hasClass('blue')) {
$this.removeClass();
} else if ($this.hasClass('red')) {
$this.removeClass('red').addClass('blue');
} else {
$this.addClass('red');
}
});
如果您只想在红色和蓝色类之间切换,只需将其中一个类添加到标记中,以便您可以在它们之间切换:
<div class="blue">Hello World!</div>
然后只使用toggleClass():
$('div').click(function() {
$(this).toggleClass('red blue');
});
$('div').click(function() {
if($(this).hasClass('red'))
{
$(this).addClass('blue').removeClass('red');
}
else
{
$(this).addClass('red').removeClass('blue');
}
});
.hasClass()
检查指定的类,尝试这样的事情:
$('div').click(function() {
if($('div').hasClass('red')) {
$(this).removeClass('red').addClass('blue');
}
else{
$(this).removeClass('blue').addClass('red');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.