我正在创建一个非常简单的页面,当用户单击页面时,背景和文本颜色将通过6个“主题”改变。我希望下面的循环在达到6之后重新设置为1。我知道这样做是一种不好的方法,但是由于它不需要缩放,所以我不在乎。
我尝试在if(点击> 6)内重置clicks = 1,然后退出返回范围,但是我仍然遇到范围问题。那似乎在网上遵循了一些例子,我看不到我所缺少的。看来ti真的很简单。
<script>
var clicks = 1;
$('.foo').click(function() {
if (clicks == 1){
$('body, #change' ).addClass('pagetheme1');
$('p' ).addClass('pagetheme1');
} else if (clicks == 2){
$('body, #change' ).addClass('pagetheme2');
$('p' ).addClass('pagetheme2');
$('body, #change' ).removeClass('pagetheme1');
$('p' ).removeClass('pagetheme1');
} else if (clicks == 3){
$('body, #change' ).addClass('pagetheme3');
$('p' ).addClass('pagetheme3');
$('body, #change' ).removeClass('pagetheme2');
$('p' ).removeClass('pagetheme2');
} else if (clicks == 4){
$('body, #change' ).addClass('pagetheme4');
$('p' ).addClass('pagetheme4');
$('body, #change' ).removeClass('pagetheme3');
$('p' ).removeClass('pagetheme3');
} else if (clicks == 5){
$('body, #change' ).addClass('pagetheme5');
$('p' ).addClass('pagetheme5');
$('body, #change' ).removeClass('pagetheme4');
$('p' ).removeClass('pagetheme4');
} else if (clicks == 6){
$('body, #change' ).addClass('pagetheme6');
$('p' ).addClass('pagetheme6');
$('body, #change' ).removeClass('pagetheme5');
$('p' ).removeClass('pagetheme5');
clicks=1;
}
}
++clicks;
});
</script>
使用模运算符
var clicks = 0;
$('.foo').click(function() {
// ...
clicks = (clicks + 1) % 7;
});
这是通过为您提供(clicks + 1)除以7的余数,即当clicks为0-5时为clicks + 1,或当clicks = 6时为0。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句