我有一个功能,每次幻灯片放映幻灯片时都会触发,并递增计数器。
我想要一种简单的方法来调用每个X幻灯片的函数(示例代码中为5)。我意识到我可以使用模数轻松地做到这一点,但语法让我感到厌烦。
var numSlides = $('.item').length; // 20
var currSlide = 0;
var ad_interval = 5;
function updateSlide (){
currSlide++
// if we are at the ad interval, every 5 slides, call the next line
$("#adslot").reveal();
}
答案 0 :(得分:2)
if (currSlide % ad_interval === 0) {
// Note that this will also include the first (0th) slide.
}
答案 1 :(得分:2)
Mod返回余数......当它为0时,你已经计算了间隔的数量。
if((currSlide % ad_interval) === 0) {
$('#adslot').reveal();
}
答案 2 :(得分:1)
在updateSlide()方法中,您可以包含以下内容:
if(currSlide % ad_interval === 0)
{
// Run method code.
}
这将每5张幻灯片运行一个方法。有关Java运算符和模运算符的更多信息,this site可以很好地解释它们。
答案 3 :(得分:1)
if (currSlide%5 ==0) {
$("#adslot").reveal();
}
答案 4 :(得分:1)
我建议:
function updateSlide (){
// if we are at the ad interval, every 5 slides, call the next line
if ((currSlide + 1) % ad_interval == 0){
$("#adslot").reveal();
}
currslide++;
}
我使用(currSlide + 1) % ad_interval
的原因仅仅是因为您的索引从零开始,而第五张幻灯片位于索引4
,而不是5
; +1
只是确保第五张幻灯片的模数为0
,而不是第六张幻灯片。
这也会阻止第一张第0张幻灯片显示广告。