0

スライダーで使用される画像のリストがあります。次々にアクティブで目に見えるようになります。そしてクリックカウンターがありますが、魔女はスライダーとは何の関係もありません。10 番目の画像と、5 つの画像の各ブロックの後、クリックカウンターが特定の値を持っている場合にのみ、何かが発生するはずです。この場合、次の場合に何かが発生するはずです。

10th image and clickcounters value is 1
15th image and clickcounters value is 2
20th image and clickcounters value is 3
25th image and clickcounters value is 4
... and so on. 

私のjqueryは次のようになります。画像にはインデックスが付けられています。

   var num = 5;
   if (instance.index === num*2 && countCalc == 1 ) {
   do something;
   }
   else if (instance.index === num*3 && countCalc == 2 ) {
   do something;
   }
   else if (instance.index === num*4 && countCalc == 3 ) {
  do something;
   };

変数 num が 5 に設定されていない場合、クリックカウンターと明確な関係があります。クリックカウンターは常に 2 番目の乗算器から 1 を引いた値と同じです。5 番目の画像ごとに行を繰り返さずに、これを 1 つのステートメントにどのように書き込むべきかはわかりません。誰かヒントを教えてください。THX

4

3 に答える 3

0

剰余除算を試してみてください:

if (instance.index % num === 0 && countCalc === instance.index / num - 1) {}

のインデックスをinstancenum で割り、そのインデックスが num の倍数の場合、剰余は 0 です。インデックスは num で除算され、1 を引いた結果がcountCalc値になります。

于 2013-07-04T20:13:45.853 に答える
0

ワンライナーは疑わしいですが、次のようなものを掘り下げてみてください:

$("div:nth-of-type(5)")
    .each(function(i, ele) {
        $(ele)
            .data("counter", i)
            .click(function(){
                if ($(this).data("counter") == counter) {
                    // do something
                }
            });
    });

http://jsfiddle.net/KzyfY/1/

画像に既にクリックイベントがあるかどうかわからないので、ここで割り当ててテストしています。多分これと@mhuが提案したものの混合

于 2013-07-04T20:21:48.657 に答える
0

剰余演算子を使用できます。

var num = 5;
if (instance.index % num === 0) {
    doSomething(countCalc);
}

例: http://jsfiddle.net/c4s8X/

于 2013-07-04T20:12:03.583 に答える