【问题标题】:How to clear the Timeout in Bxslider on OnsliderAfter如何在 OnsliderAfter 上清除 Bxslider 中的超时
【发布时间】:2016-01-13 07:23:50
【问题描述】:

我有一个bxslider和OnslideAfter以下

onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
      setTimeout(function() {
        jQuery(".active-slide img.drawing_layer_one").animate({ opacity: 1}, 500);
    }, 150);
   setTimeout(function() {
        jQuery(".active-slide img.drawing_layer_two").animate({ opacity: 1}, 600);
    }, 250);
}

因此,我保持动画发生的顺序,并且仅在第一次加载滑块时才对滑块加载起作用。 Onslideafter 它无法正常工作,我认为原因可能是时间没有清除。那么我如何在每次 OnSlideAfter 时清除此超时,以便动画以正确的顺序依次发生?

【问题讨论】:

    标签: jquery timeout bxslider


    【解决方案1】:

    你需要声明一个全局变量,然后给它赋值 setTimeout。

    var myTimeout1;
    var myTimeout2;
    // Code
    onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
      myTimeout1 = setTimeout(function() {
          jQuery(".active-slide img.drawing_layer_one").animate({ opacity: 1}, 500);
      }, 150);
      myTimeout2 = setTimeout(function() {
          jQuery(".active-slide img.drawing_layer_two").animate({ opacity: 1}, 600);
      }, 250);
    }
    

    要清除超时,你必须使用这个:

    clearTimeout(myTimeout1);
    clearTimeout(myTimeout2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      相关资源
      最近更新 更多