1

こんにちは私はここに私が達成したいことを説明するhttp://jsfiddle.net/7ztEf/9/の投稿があります。

分解します。配列インデックスの値に基づいてdivbgを入力する必要があります。これらは、1〜40の4つの乱数であり、返される数値は5、15、25、35です。ロジックは、数値の範囲が1〜10の場合、div bgが赤、11〜20の場合、青などです。

私はこれで自分自身を殺してきました、本当にこれを行うための最良の方法についていくつかのアドバイスが必要です、多くの感謝P

function myNumbers(numbers, type) {
for (var x in numbers) {
   document.getElementById(type + x).innerHTML = numbers[x];

    /*
    here I need to query each index value and apply to ball div, ie:

    if index 0 numbers > 0) && numbers <= 10 than ball-0 div bg is red
    if index 0 numbers > 11) && numbers <= 20 than ball-0 div bg is blue
    if index 0 numbers > 21) && numbers <= 30 than ball-0 div bg is orange
    if index 0 numbers > 31) && numbers <= 40 than ball-0 div bg is green

    repeating for eack index value. 

    if index 1 numbers > 0) && numbers <= 10 than ball-1 div bg is red

    etc       

    */

} 

}

myNumbers([5、15、25、35]、'test-')

4

3 に答える 3

1

For just a few colors I would just write it out like this:

for (var x = 0, n = numbers.length; x != n; ++x) {
    var nr = numbers[x], 
        el = document.getElementById(type + x),
        color;

   el.innerHTML = nr;

    if (nr > 0) {
        if (nr <= 10) {
            color = 'red';
        } else if (nr <= 20) {
            color = 'blue';
        } else if (nr <= 30) {
            color = 'orange';
        } else if (nr <= 40) {
            color = 'green';
        }
    }
    if (color) {
        el.style.color = color;
    }
} 

Demo

于 2013-03-12T03:34:22.410 に答える
1

Try this..

for (var x = 0;x<numbers.length;x++) {

    el = document.getElementById(type + x);

el.innerHTML = nr;

if (nr > 0) {
    if (nr <= 10) {
        color = 'red';
    } else if (nr <= 20) {
        color = 'blue';
    } else if (nr <= 30) {
        color = 'orange';
    } else if (nr <= 40) {
        color = 'green';
    }
}
if (color) {
    document.getElementById('ball-' + x).style.backgroundColor = color;
}
} 
于 2013-03-12T03:38:11.517 に答える
0

私はこのようなことをします:

var colors = ['red', 'blue', 'orange', 'green'];

function myNumbers(numbers, type) {
    for (var i = 0; i < numbers.length; i++) {
        var number = numbers[i];
        var color = colors[Math.floor(number / colors.length)];

        document.getElementById(type + i).innerHTML = number;
        document.getElementById('ball-' + i).style.backgroundColor = color;
    }
}

for...in構文で配列を反復処理しないでください。オブジェクトのプロパティを反復処理します。

于 2013-03-12T03:27:45.370 に答える