您不必熟悉spry语法,但我正在使用SPRY(AJAX小部件)并尝试编写一个函数来处理多个条件。
spry:when="{ds_CurrentRowNumber} == {ds_RowNumber} && {ds_RowNumber} < 4"
我想把它变成一个函数,每隔4个li标签在同一个div中生成一个新的ul标签,如:
<ul spry:repeatchildren="ds1">
<li spry:if="{ds_RowID} < 4 ">{item}</li>
</ul>
<ul spry:repeatchildren="ds1">
<li spry:if="{ds_RowID} > 4 && {ds_RowID} < 9 ">{item}</li>
</ul>
这个功能会是什么样的?非常感谢任何帮助。
答案 0 :(得分:0)
通常使用模数运算符(百分号 - % - 在Javascript中)完成。
模数返回“除法后的余数”,它可以准确地告诉你何时击中新的“行”。
所以(完全不知道Spry)这样的事情:{ds_RowID}%4 = 0应该告诉你何时你处于一个新行 - 例如第4行的模数返回4%4的零(4分进入4的余数为零)。 5%4的模量为“1”,依此类推。
所以,基本上,当模数为零时,你会进行特殊处理(结束前一个列表 - 如果存在)并开始一个新的。
一些伪代码:
itemsPerRow = 4 开始第一行(
如果您的索引从零而不是一开始,可能需要稍微更改一下,但我希望您明白这一点。