【发布时间】:2017-01-09 00:22:00
【问题描述】:
如果我有一组 n 数量的广告,其类别为 'ad'。例如;当 n = 5 时:
<div class="ad hide">...</div>
<div class="ad hide">...</div>
<div class="ad hide">...</div>
<div class="ad hide">...</div>
<div class="ad hide">...</div>
我想removeClass('hide') 3 项数组以索引i 开头,这是一个计数器,但将$('.ad') 视为无限循环:
如果i = 0:
<div class="ad">...</div>
<div class="ad">...</div>
<div class="ad">...</div>
<div class="ad hide">...</div>
<div class="ad hide">...</div>
如果i = 1:
<div class="ad">...</div>
<div class="ad hide">...</div>
<div class="ad hide">...</div>
<div class="ad">...</div>
<div class="ad">...</div>
如果i = 2:
<div class="ad hide">...</div>
<div class="ad">...</div>
<div class="ad">...</div>
<div class="ad">...</div>
<div class="ad hide">...</div>
NB 随机排序广告数组不是解决方案是有“商业”原因的。它们必须按顺序显示。
如何创建一个选择上述三个项目的选择器?
这并没有达到我想要的,但表明了我的意思 - 例如。 :
var adIndex = 8;
adIndex = adIndex / $('.ad').length;
$('.ad').slice(adIndex, adIndex+3).removeClass('hide');
非常感谢您的帮助:)
【问题讨论】:
-
i=0的案例是有道理的......其他人没有。要么需要更好地解释过滤规则,要么修复问题中的其他 2 个案例 -
@akinjide 问题与所显示的案例一样模糊,并且缺乏适当的解释,为什么它们会成为您展示它们的方式。您确定这是您的预期结果吗?
-
当
i是0、1或2时,您需要阐明您的逻辑。这没有任何意义。 -
当 is
i = 0时,您将展示前三个广告,当i = 1时,您将展示接下来的三个广告,但没有 #6,所以从 # 重新开始1.等 -
@RhecilCodes 好的...似乎缺少的是“3 人组”,其中
i定义了组而不是开始索引
标签: javascript jquery arrays sorting