0

我有一个功能,每次幻灯片在我的幻灯片中前进时都会触发,并增加一个计数器。

我想要一种简单的方法来调用每个 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();

 }
4

5 回答 5

2
if (currSlide % ad_interval === 0) {
    // Note that this will also include the first (0th) slide.
}
于 2013-03-04T15:01:41.060 回答
2

Mod 返回余数...当它为 0 时,您已经计算了间隔。

if((currSlide % ad_interval) === 0) {
   $('#adslot').reveal();
}
于 2013-03-04T15:01:50.557 回答
1

你在找这个吗?

if (currSlide%5 ==0) {
  $("#adslot").reveal();
 }
于 2013-03-04T15:02:29.283 回答
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仅仅是因为您的索引是从零开始的,第五张幻灯片将在 index 4,而不是5; 这+1只是确保模数将0 第五张幻灯片,而不是第六张。

这也将阻止第一张(第零张)幻灯片展示广告。

于 2013-03-04T15:02:49.667 回答
1

在您的 updateSlide() 方法中,您可以包含以下内容:

if(currSlide % ad_interval === 0)
{
     // Run method code.
}

这将每 5 张幻灯片运行一个方法。有关 Java 运算符和模运算符的更多信息,此站点很好地解释了它们。

于 2013-03-04T15:01:47.223 回答