Loop FadeIn FadeOut Infinite

时间:2016-07-11 15:09:23

标签: javascript loops fadein fadeout

我需要重复无限这个功能,任何人都可以告诉我一个解决方案。

function AnimeRate(x, z, w){
    x.fadeIn(2000, function(){
        x.fadeOut(2000, function(){
            z.fadeIn(2000, function(){
                z.fadeOut(2000, function(){
                    w.fadeIn(2000);
                })
            })
        });
    });
}

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用.promise().then();在AnimeRate处理程序中移动.ready()函数;在递归调用.fadeOut(0)

之前,在w元素上调用AnimeRate
$(document).ready(function() {
  function AnimeRate() {
    return w.fadeOut(0).promise().then(function() {
      return x.fadeIn(2000).promise().then(function() {
        return x.fadeOut(2000).promise().then(function() {
          return z.fadeIn(2000).promise().then(function() {
            return z.fadeOut(2000).promise().then(function() {
              return w.fadeIn(2000).promise().then(function() {
                this.fadeOut(0).promise().then(AnimeRate)
              });
            })
          })
        })
      })
    })           
  }

  var x = $('.excellent');
  var z = $('.tresBon');
  var w = $('.bon');
  $(x, z, w).fadeOut(0);
  AnimeRate();
});

jsfiddle https://jsfiddle.net/9rn45k43/5/