如何在Blade循环中按3的等差数列给不同分组的div应用对应CSS动画样式
如何在Blade循环中按3的等差数列给不同分组的div应用对应CSS动画样式
嘿,你的思路其实已经找对方向啦!用模运算来按3的等差数列分组完全是正确的做法,只是在条件判断上有点小疏漏,我帮你理顺一下:
首先要注意,你循环里的变量是$item,但判断条件里写的是$i,这应该是笔误,得统一成$item才行。然后我们可以通过$item % 3的结果来精准匹配三个分组:
- 当
$item % 3 == 0时,正好对应索引0、3、6、9这一组,用slideInDown样式 - 当
$item % 3 == 1时,对应索引1、4、7这一组,用slideFloat样式 - 当
$item % 3 == 2时,对应索引2、5、8这一组,用slideInUp样式
另外还要注意Blade模板里输出变量需要用双花括号{{ }},你原来的代码里直接写$posts[$item]['post_content']是不会正确渲染的哦。
下面是修正后的完整代码:
@for ($item = 0; $item < count($posts); $item++) @if ($item % 3 == 0) {{-- 对应索引 [0,3,6,9] 的分组 --}} <div class="content"> <div class="slideInDown text-center"> <p>{{ $posts[$item]['post_content'] }}</p> </div> </div> @elseif($item % 3 == 2) {{-- 对应索引 [2,5,8] 的分组 --}} <div class="content"> <div class="slideInUp"> <p>{{ $posts[$item]['post_content'] }}</p> </div> </div> @else {{-- 对应索引 [1,4,7] 的分组 --}} <div class="content"> <div class="slideFloat"> <p>{{ $posts[$item]['post_content'] }}</p> </div> </div> @endif @endfor
这样修改后,就能精准地给每个等差数列分组的div应用对应的CSS动画样式啦!
内容来源于stack exchange
相关产品推荐
相关产品推荐

