2

幅620pxに設定されたjqueryカルーセルがあります。グリッド 960 を使用して画像を内部に配置しています。一度に4枚の画像を表示します。

そのために、表示されている 4 つのグループの最初のイメージ クラスをすべて「grid_2 alpha」に設定し、4 つおきのイメージ クラスを「grid_2 omega」に設定し、その間のすべてを grid_2 に設定しました。

これにより、必要な 620px が得られます。私はデータベースから引っ張っていて、クラスを動的に設定しようとしていますが、クラスを持つグループの最初と4番目をまったく取得できません。

                    <?php $loopIndex = 1; ?>
                    <?php foreach ($pub_values as $v) { 
                    if($v['pub_of_the_month'] == 1)
                    {
                    ?>
                    <?php if ($loopIndex == 1 || $grid_class=="grid_2 omega") $grid_class="grid_2 alpha";
                            else if($loopIndex%4 == 0) $grid_class="grid_2 omega"; 
                            else $grid_class="grid_2"; 
                          $filename = "images/pub_images/120x160/".$v['id'].".jpg";
                          if (!file_exists($filename)) $filename = "images/pub_images/120x160/blank.gif";       
                    ?>
                        <div class="<?php echo $grid_class?>">
                            <a href="#">
                                <img src="<?=$filename;?>" alt="<?=$v['name'];?>" width="120" height="160" />
                                <?=$v['name'];?>
                            </a>
                        </div>
                    <?php $loopIndex = $loopIndex + 1; } }?>

上記のコードは、以下を達成するための私の最善の試みです。

画像

1 - grid_2 アルファ

2 - グリッド_2

3 - グリッド_2

4 - grid_2 オメガ

5 - grid_2 アルファ

6 - グリッド_2

7 - グリッド_2

8 - grid_2 オメガ

9 - grid_2 アルファ

4

2 に答える 2

3

余りで割る単純な数学。

たぶん、あなたはこのコードを見ることによって理解することができます:

for($i = 1; $i <= 9; $i++){
    echo "\n $i ";
    if($i % 4 == 1){
        echo " alpha";
    }elseif($i % 4 == 0){
        echo " omega";
    }
}

実例:http ://codepad.org/LIepxlJm

于 2012-04-21T20:28:32.487 に答える
1

おそらく、for ループを使用する必要があります。

for ($i = 0; $i< sizeof($pub_values); $i++) { 
   $classes =['grid_2'];
   if($i%4 == 0) $classes[] = 'alpha';
   if($i%4 == 3) $classes[] = 'omega';
}

編集:これは、構文的に正しいことを試みているのではなく、アプローチを示しているだけです。最後に、文字列を取得するためにクラスに参加(またはphpで内破)したい....(どちらも実装されていません)

于 2012-04-21T20:33:05.780 に答える