我有10个div中的白色文字,一旦用户点击它们就会变成蓝色,并且选择"" divs是5.我这样做了:
<div id="sen1" class="sentences">Text1</div>
<div id="sen2" class="sentences">Text2</div>
<div id="sen3" class="sentences">Text1</div>
<div id="sen4" class="sentences">Text2</div>
...
$(".sentences").click(function() {
count++
$(this).css("color", "blue")
selected_true.push($(this).text())
if (count == 5){
$(".sentences").off("click")
//go to next page
}
});
现在,如果再次单击蓝色文本并希望将count
变量减一,我希望文本再次变为白色。理想情况下,我希望每次选择一个句子时都增加计数器,一旦取消选择就再次减少计数器。
我想过toggle
但是如何在toggle方法中加入计数器?
答案 0 :(得分:4)
这样做可能更有意义:
CSS
.sentences {
color: #fff;
}
.sentences.turnedon {
color: blue;
}
的javascript
$(".sentences").click(function() {
if( $(this).hasClass('turnedon') ) {
$(this).removeClass('turnedon');
count-1;
} else {
$(this).addClass('turnedon');
count++;
}
答案 1 :(得分:0)
更好的方法是为每个单击的div添加一个类,并在再次单击它时将其删除。
使用JQuery toggleClass在一个简单的行中完成它:
$(this).toggleClass('selected');
然后你可以像这样计算所选的div:
$('.selected').length;
答案 2 :(得分:0)
您可以使用2个类来完成。如果您有2个样式类,则可以使用。
$('yourSeletor').toggleClass('yourClassBlue');