用类设置每个第1和第4个元素

时间:2012-04-21 20:06:23

标签: php

我有一个设置为620px宽的jquery轮播。我使用网格960将图像放在里面。我一次显示4张图片。

为了做到这一点,我将每个第一个图像类设置为'grid_2 alpha',并将每四个图像设置为4个组中的'grid_2 omega',而所有这些都设置为grid_2之间。

这给了我需要的620px。我正在从数据库中拉出来,我正在尝试动态设置类,但是在组中的每个第一个和第四个都不能得到类。

                    <?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 alpha

2 - grid_2

3 - grid_2

4 - grid_2 omega

5 - grid_2 alpha

6 - grid_2

7 - grid_2

8 - grid_2 omega

9 - grid_2 alpha

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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中崩溃)你的类来获取字符串....(也没有为你实现)