0

いくつかの助けを借りて、jquery と CSS3 を使用して回転スライダーを作成しましたが、1 つのことを除いてうまく機能しているようです...最初の「スライド」は、最初の再生時に 2 倍の遅延があるようです。なぜこれが起こっているのか、誰かが光を当てることができますか? どんな助けでも大歓迎です...

var i = 0;
var z = 0;
delay = 5000;

var el = $('#scroll-script');
var ql = $('#info-box');

var classesb = ['fp-info-one', 'fp-info-two', 'fp-info-three', 'fp-info-four'];    
var classes = ['fp-slide-one', 'fp-slide-two', 'fp-slide-three', 'fp-slide-four'];

var interval = setInterval(function () {

  el.removeClass().addClass(classes[i]);
  i = (i + 1) % 4;

  ql.removeClass().addClass(classesb[z]);
  z = (z + 1) % 4; 

}, delay);
4

1 に答える 1

1

setInterval内の無名関数は、最初に実行されるのと同じ時間(遅延)待機しています。次のいずれかを実行できます。

1)無名関数を名前付き関数に変更し、間隔を実行する前にそれを1回実行します

2)setIntervalメソッドの前にこれらの行を実行します。匿名関数内のコードを一度エミュレートするだけです。

   el.addClass(classes[3]);
   ql.addClass(classesb[3]);

このフィドルの内部を見て、私が提供したいくつかの解決策を見ることができます。

http://jsfiddle.net/G7NdU/4/

于 2012-09-26T04:53:08.117 に答える