2016-10-07 10 views
-1

動的な複数のdivを含むループがあります。私はランダムに単一のdivを表示する必要があるとページを更新する際には、出力がPHP/jQuery:ループから1つのdivをランダムに表示します

1 
2 
3 
4 
5 

なります

for($i= 1; $i<=5; $i++){ 
    echo'<div class=""> 
    this is div '.$i.' 
    </div>'; 
} 

divの動的

と同様に例えばPHPを変更する必要があります。しかし、私は表示のみにしたいです単一のdiv。その他のjqueryのやPHPを使用して非表示にするので、私はページを更新するたびに、それはランダムループ内でのdivの長さを計算する

//output--> 
//this is div 2 
+2

' $ I =ランド(1、5)の両方を使用できますか? – Here2Help

+1

乱数 'i'を0から4まで計算し、' .eq(i) 'を使ってそのインデックスを持つDIVを選択します。 – Barmar

答えて

2

まず必要性を任意の数を表示する必要があります。次に、他のすべての要素を隠し、ランダムに選択した要素だけを表示します。

$('.random').hide().eq(Math.floor(Math.random()*$('.random').length)).show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="random">1</div> 
 
<div class="random">2</div> 
 
<div class="random">3</div> 
 
<div class="random">4</div> 
 
<div class="random">5</div>

0

あなただけのPHPでこれを達成することができます。 `;

$array = array("PHP", "CSS", "JavaScript", "jQuery"); 
$randomItem = $array[array_rand($array)]; 

<div><?php echo $randomItem ?></div> 
0

あなたは、CSSとPHP

CSS

.Hide_Divs{display: none;} 

PHP

$random = rand(1, 5); // random number between 1 to 5 
for($i= 1; $i<=5; $i++){ 
    $ran = ($i !== $random)? 'Hide_Divs' ? ''; 
    echo'<div class="'.$ran.'"> 
    this is div '.$i.' 
    </div>'; 
} 
関連する問題