2014-11-21 70 views
0

我有一個文本框,用戶輸入整數。然後我想列出數字直到用戶輸入的整數。該名單將首先是紅色,其次是黃色,第三名是綠色。這種模式將再次重演。像第四個將是紅色,第五個將是黃色,第六個將是綠色等等。如何獲得重複模式

如果用戶輸入12,它將變爲:1(紅色),2(黃色),3(綠色),4(紅色),5(黃色)...所以.. 12.

我可以根據EVen和奇數區分整數,但在這種情況下,我們有3個不同的選項:紅色,黃色和綠色。

+1

看(https://developer.mozilla.org/en-US/docs /Web/JavaScript/Reference/Operators/Arithmetic_Operators#Remainder_(.25)) - http://jsfiddle.net/arunpjohny/Lhg3pL56/1/ – 2014-11-21 05:54:29

+0

使用[nth-child selector]可以在CSS中輕鬆完成顏色( https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child)。 – nnnnnn 2014-11-21 06:20:10

回答

1

我認爲你可以輕鬆地生成一個循環中的數字。至於識別模式的話,你可以簡單地做這種檢查(僞代碼):

num are values generated from 1 to whatever you want to be. 

(num - 1) % 3 = 0 --> Color should be red 
(num + 1) % 3 = 0 --> Color should be yellow 
    num % 3 = 0  --> Color should be green 

希望它可以讓你在正確的方向開始。

1

你所尋找的是在[餘運算符]的remainder operator

var num = 12; 
 
var list = [], 
 
    colors = ['red', 'green', 'blue']; 
 
for (var i = 0; i < num; i++) { 
 
    list.push('<span class="' + colors[i % colors.length] + '">' + (i + 1) + '</span>') 
 
} 
 

 
var html = list.join(''); 
 
//add it to the dom to view 
 
$('body').append(html);
.red { 
 
    color: red; 
 
} 
 
.green { 
 
    color: green; 
 
} 
 
.blue { 
 
    color: blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

4
<?php 
     $limit = 10; 

     $color = array('red','yellow','green'); 

     for($i=0;$i<=$limit;$i++) 
      { 
       echo "<span style='color:".$color[$i%3]."'>$i</span>"; 

      } 

    ?>