我正在构建一个步进音序器,我想使用Jade将一个子组中的每个4个元素分组。到目前为止,我只能使用所需的类获得每个 nth 元素,但我知道有一种方法可以做到这一点。唯一的限制是我需要跟踪循环中的当前索引(从1到32),以便我可以正确地向每个id
元素添加唯一的input
。
到目前为止我的代码,每个n+2
元素的格式都很奇怪:
- for (var i = 0; i < steps; i++)
- if (i % 4 === 0 || altGroup % 2 === 0)
- stepClass="step even"
- altGroup++
- else
- stepClass="step"
input(type="checkbox", class = "#{stepClass}", id = "channel#{index}-step#{i}")
label(for = "channel#{index}-step#{i}")
span.hook ^
答案 0 :(得分:1)
根据上面的交换,我将每个子组分成一个span
元素,并使用类sub-group
使其更清晰。请参阅更新的CodePen here。
关键逻辑总结如下:
- for (var i = 0; i < steps/4; i++)
- if (altGroup % 2 == 0)
- stepClass = "step"
- else
- stepClass = "step even"
span.sub-class
- for (var j=0; j < groupSize; j++)
input(type="checkbox", class = "#{stepClass}", id = "channel#{index}-step#{i}")
label(for = "channel#{index}-step#{i}")
span.hook ^
- altGroup ++;
注意:我假设组大小是常量并将其作为变量添加。