2012-11-15 51 views
0

我有一個div與while循環內的幾個框。我想給這兩個選擇的div背景顏色。前3箱我必須給第一個顏色。然後爲接下來的3個盒子給出下一個顏色,然後再給下一個盒子給我第一個顏色,等等。我怎麼能給div背景顏色根據計數差3內while循環

很明顯,我想給這兩種顏色交替3個盒子交替從第一。任何人都可以幫助我。

回答

1
var count=0; 
$("div").each(function (i) { 
     count++; 
     if (count%3) { 
      this.style.color = "blue"; 
     } else { 
      this.style.color = "black"; 
     } 
     }); 
+0

如果我們給(count/2)意味着它將應用於彼此相鄰的備選方框。但是我想給前面三個盒子的div bgcolor,接下來的三個盒子的bgcolor應該是diff,接下來的三個盒子的顏色應該與第一個盒子相同,等等 –

+0

使用(count%3)代替 – Rab

+0

問題是標籤爲PHP,爲什麼你用JavaScript jQuery回答。 – koblas

0
var count=0; 
if(count%2==0) { 
echo"<div style="background:white;">"; 
} 
else { 
echo"<div style="background:pink;">"; 
} 
echo"</div>"; 
0

期望的結果是:

<div class="white">... 
<div class="white">... 
<div class="white">... 
<div class="blue">... 
<div class="blue">... 
<div class="blue">... 
<div class="white">... 

這意味着你的代碼應該是:

for ($count = 0 ; $count < 20; $count++) { 
    $color = ($count/3) % 2 ? "blue" : "white"; 
    echo "<div class='$color'>", "SOMETHING", "</div>"; 
} 

所有你正在做的是彙集 「除以3」,然後確定如果該組是偶數或奇數。

注意:根據您的需要和CSS信息,您可以輕鬆使用style="background-color:$color"

+0

感謝您的回答。非常好 –

0

我不認爲他喜歡,這是JS作爲他的標籤是PHP

這是你在找什麼;

<div> 
<?php 
    $numberofResults = '5'; 
    for ($i=1; $i<=$numberofResults; $i++){ 
     if($i % 2 == 0) $style='style="background-color:black"'; 
     else $style='style="background-color:white"'; 

     echo '<box'.$i.' ' . $style . '>'; 
     echo '</box'.$i.'>'; 
     echo "\n"; 
    } 
?> 
</div> 

這會產生;

<div> 
    <box1 style="background-color:white"></box1> 
    <box2 style="background-color:black"></box2> 
    <box3 style="background-color:white"></box3> 
    <box4 style="background-color:black"></box4> 
    <box5 style="background-color:white"></box5> 
</div> 
+0

感謝您的幫助。非常好 –