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

updateSlide()メソッド内に、次のようなものを含めることができます。

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

これにより、5スライドごとにメソッドが実行されます。Java演算子とモジュラス演算子の詳細については、このサイトでかなりうまく説明できます。

于 2013-03-04T15:01:47.223 に答える
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いる理由は、インデックスがゼロベースであり、5番目のスライドが;4ではなくインデックスにあるためです。単純に、モジュラスが6番目はなく5番目のスライドに5あることを確認します。+10

これにより、最初の0番目のスライドに広告が表示されなくなります。

于 2013-03-04T15:02:49.667 に答える