【发布时间】:2013-12-04 22:38:00
【问题描述】:
首先,对不起我的英语不好,我希望我能很好地解释我的问题......
所以,我正在尝试学习开发,实际上我有这个代码:
<ul>
<li class="odd ajax_block_product {if $smarty.foreach.myhomeFeaturedProducts.first}first_item{elseif $smarty.foreach.myhomeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.myhomeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.myhomeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.myhomeFeaturedProducts.iteration > ($smarty.foreach.myhomeFeaturedProducts.total - $totModulo)}last_line{/if}">...</li>
<li class="even ajax_block_category {if $smarty.foreach.myhomeFeaturedCategories.first}first_item{elseif $smarty.foreach.myhomeFeaturedCategories.last}last_item{else}item{/if}">...</li>
</ul>
UL 会自动填充 smarty,所以最后我的 HTML 是这样的:
<ul>
<li class="odd">1</li>
<li class="odd">2</li>
<li class="odd">3</li>
<li class="odd">4</li>
<li class="even">5</li>
<li class="even">6</li>
<li class="even">7</li>
<li class="even">8</li>
</ul>
我的问题是我想用 jQuery 或 PHP 替换 EVEN 和 ODD 类,但我没有找到方法。 我想做这个:
<ul>
<li class="odd">1</li>
<li class="even">5</li>
<li class="odd">2</li>
<li class="even">6</li>
<li class="odd">3</li>
<li class="even">7</li>
<li class="odd">4</li>
<li class="even">8</li>
</ul>
谁能告诉我我需要怎么做?
谢谢!
【问题讨论】:
-
您确定不想在 smarty 循环中处理这个问题吗?
-
1) 你应该更新你的服务器端代码,应该只有 1 个循环生成奇数和偶数项,交替类。 2)您可能还想检查 CSS 伪类
:nth-child(odd)和:nth-child(even),这是一种更简洁的方式来执行您可能尝试执行的操作,但旧浏览器不支持 -
您好,这里提出的解决方案是为奇数或偶数元素添加类。但我需要重新排序。我想说我的第一个循环将始终显示在 ODD 列中,而我的第二个循环将始终显示在 EVEN 列中。我认为也可以在 php 中实现,但我不知道如何... 可能我的循环代码会对您有所帮助?我将编辑我的帖子。谢谢你帮助我!
-
如果你想要两列,制作两个不同的 uls 并用 css 将它们放在一起不是更容易(而且更合乎逻辑)吗?那么你最终会得到两个列表,一个用于产品,另一个用于类别。仅仅出于演示的原因随机打乱数据似乎并不正确
标签: php jquery list smarty reorderlist