【问题标题】:Jquery Superslides autoplay restart on new slideJquery Superslides 在新幻灯片上自动播放重新启动
【发布时间】:2013-10-21 04:22:27
【问题描述】:

我正在使用 Superslides - jQuery 的全屏滑块。 我的问题是,每当我单击滑块导航时,自动播放都不会重置。 您可以在下面看到我的设置,因为您可以看到 play 设置为 10000 毫秒。 但是,当我单击导航(下一张幻灯片)时,播放计时器仍在运行。 这意味着自动播放每 1000 毫秒重置一次,而不是在每张幻灯片上。 你可以看到我现在拥有的功能:

 Superslides = function(el, options) {
   this.options = $.extend({
    play: 10000,
    animation_speed: 600,
    animation_easing: 'swing',
    animation: 'slide',
    inherit_width_from: window,
    inherit_height_from: window,
    pagination: true,
    hashchange: false,
    scrollable: true,
    elements: {
      preserve: '.preserve',
      nav: '.slides-navigation',
      container: '.slides-container',
      pagination: '.slides-pagination'
    }
  }, options);

任何想法如何在每张新幻灯片上重置“播放:10000”。

【问题讨论】:

    标签: jquery slider reset playback autoplay


    【解决方案1】:

    我知道这是一个老问题,但我最近遇到了同样的问题,我想我会分享我认为为我解决的问题,以防其他人遇到它。

    在 jquery.superslides.js 文件中列出了以下代码来控制滑块的导航箭头:

    that.$el.on('click', that.options.elements.nav + " a", function(e) {
      e.preventDefault();
    
      that.stop();
      if ($(this).hasClass('next')) {
        that.animate('next', function() {
          that.start();
        });
      } else {
        that.animate('prev', function() {
          that.start();
        });
      }
    });
    

    所以我的理解是,单击箭头永远不会启动“停止”,这意味着自动播放不会停止,因此不会重置。您可以尝试两种方法来解决这个问题。

    选项 1 是让幻灯片在您单击下一个(或上一个)箭头时完全停止,而不是自动播放。通过改变来做到这一点

    that.start();
    

    that.stop();
    

    选项 2 是先调用停止,然后在单击箭头时调用开始。这应该强制自动播放功能将计时器重置为您设置的 10000 毫秒。为此,您只需添加:

    that.stop();
    

    在每个之前

    that.start();
    

    【讨论】:

      猜你喜欢
      • 2013-07-22
      • 2013-11-24
      • 2013-07-08
      • 2012-04-07
      • 1970-01-01
      • 2021-10-04
      • 2015-04-21
      • 2015-12-01
      • 1970-01-01
      相关资源
      最近更新 更多