每个%行

时间:2016-01-29 15:58:42

标签: javascript math modulus

我不想从每个%号的javascript函数返回一个css类。 它与模数有关,无法弄清楚确切的表达式。

“i”变量以0开头

示例:

i = 0返回红色

i = 3返回darkcyan

i = 5返回darkorange

i = 7返回蓝色

1 = 15返回darkorange

// Get CSS class
var getClass = function(i) {

    // Every 0sth 
    if () {
        return 'red';

    // Every 1th number
    } else if () {
        return 'blue';

    // Every 2th number
    } else if () {
        return  'magenta';

    // Every 3th number
    } else if () {
        return 'darkcyan';

    // Every 4th number
    } else if () {
        return 'mediumorchid';

    // Every 5th number
    } else if () {
        return 'darkorange';

    // Else
    } else {
        return 'red';
    }
}

1 个答案:

答案 0 :(得分:1)

你是对的,它与余数运算符(%)有关:

var colors = ['red', 'blue', 'magenta', 'darkcyan', 'mediumorchid', 'darkorange'];
var color = colors[index % colors.length];

...其中index是您从0开始的值。

直播示例:



var colors = ['red', 'blue', 'magenta', 'darkcyan', 'mediumorchid', 'darkorange'];
var color, index;
for (var index = 0; index < 30; ++index) {
  color = colors[index % colors.length];
  snippet.log(index + " => " + color);
}
&#13;
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
&#13;
&#13;