在jQuery中达到数值后如何重置增量变量

狄龙·雅各布森

我正在创建一个非常简单的页面,当用户单击页面时,背景和文本颜色将通过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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章