2013-10-21 102 views
1

我正在使用Superslides - jQuery的全屏滑塊。 我的問題是,無論何時點擊滑塊導航,自動播放都不會重置。 你可以在下面看到我的設置,你可以看到設置爲10000ms。 但是,當我點擊導航(下一張幻燈片)時,播放定時器仍在運行。 這意味着自動播放會在每張幻燈片上每1000毫秒重置一次。 你可以看到的功能我現在有:Jquery Superslides在新幻燈片上自動播放重新啓動

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」上的每個新的幻燈片復位。

回答

0

我知道這是一個古老的問題,但我最近遇到了同樣的問題,並認爲我會分享我認爲解決它的情況,以防其他人遇到它。

在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將首先呼籲停止,然後單擊箭頭時要調用一個開始執行此操作。這應該強制自動播放功能將定時器重置回您設置的10000ms。要做到這一點,你想補充:

that.stop(); 

每個

that.start(); 
之前