我有一个设置为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
答案 0 :(得分:3)
简单的数学,除以余数。
也许你可以通过查看这段代码来弄明白:
for($i = 1; $i <= 9; $i++){
echo "\n $i ";
if($i % 4 == 1){
echo " alpha";
}elseif($i % 4 == 0){
echo " omega";
}
}
答案 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中崩溃)你的类来获取字符串....(也没有为你实现)