POST TIME:2017-11-13 00:03
在做网址导航站时候,需要循环变化每个站点的背景样式,用于区分不同的行,方便手机上阅读。例如第一行背景是白色,第二行是蓝色,第三行又是白色,第四行继续蓝色……这样的循环方式。
先来看一段代码。一般情况下,要轮换交替的变化,就需要如下类似的写法:
<div> <a href="#">新浪</a> </div> <div class="e1"> <a href="#">搜狐</a> </div> <div> <a href="#">腾讯</a> </div> <div class="e1"> <a href="#">网易</a> </div> ……
在对“e1”这个样式做背景上色处理后,实际显示效果应该就是带“e1”的第二和第四行,“搜狐”和“网易”行背景变色,而第一和第四行由于没有样式,继续显示为白色(默认情况下)。其实这种样式的话实现方法有两种:
第一种:
DeDeCMS里面有这样一个函数,可以循环赋予html代码不同的样式,可能很少有人使用,如下:
[field:global function=MagicVar("style1","style2")/]
应用到实际中,给列表轮换交替的赋值,一般情况就是:
{dede:list pagesize='10'} <div[field:global function=MagicVar("style1","style2")/]> <ahref="[field:arcurl/]">[field:title/]</a> </div> {/dede:list}
将style替换为诸如“class="e1"”这样的代码,解析出来的效果就如本文第一段代码的样式。这里需要注意,经过试验发现,上述第二段代码示例中的”style1″和”style2″位置很有讲究,如果首先将样式放在“style1”的位置上,则第一行不会赋值,从第二行开始赋值,相反,如果放在“style2”位置上,那么第一行循环就会开始赋值。
第二种方法:
也是大家都可能常用的一种方法,就是利用autoindex去判断单双数,如果是单数的就输入:style1,双数的话输入:style2。我这里只说明下方法,有喜欢折腾的朋友可以试试。