0

在一些帮助下,我使用 jquery 和 CSS3 创建了一个旋转滑块,它似乎工作得很好,除了一件事......第一个“幻灯片”似乎在第一次播放时有两倍的延迟。谁能解释为什么会发生这种情况?任何帮助将不胜感激...

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)将匿名函数更改为命名函数,并在执行间隔之前运行一次

2) 在 setInterval 方法之前运行这些行。只是为了模拟一次匿名函数中的代码。

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

你可以看看这个小提琴里面,看看我提供的一些解决方案。

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

于 2012-09-26T04:53:08.117 回答