2017-07-22 89 views
0

我正在與superslides一起工作,我試圖在動畫中添加一些自定義效果。jquery滑塊 - 防止滑塊上的默認事件

我試圖這樣做是這樣的:

  • beforeChange事件,我想阻止事件的傳播, 使滑塊並沒有改變。

  • 那麼,在這裏,我寫我的功能,動態顯示是 滑塊

  • 一旦這些動畫完成裏面的元素,我再進行手動滑動到 下一個元素

我之所以決定這麼做,是因爲我需要自動播放功能,而這是我唯一能想出來的想法。

的代碼我迄今如下:

var slider; 

slider = $('.home-page-banner'); 

slider.superslides({ 
    play: 5000 
}); 

slider.on('animating.slides', function(evt) { 
    // tried all of the three below 
    evt.preventDefault(); 
    evt.stopPropagation(); 
    return slider.superslides('stop'); 
    console.log(slider.superslides('next')); 
    slider.superslides('animate', slider.superslides('current')); 
    return slider.superslides('stop'); 
}); 

example on codepen

但不幸的是,它不工作,我想。滑塊檢測到變化,觸發事件,更改幻燈片,然後停止。

如何正確實現這一目標的任何幫助?

感謝

+1

爲什麼不使用播放選項播放 [數字]毫秒前自動進行到下一張幻燈片。使用一個錯誤的值來禁用。 – Shiladitya

+0

我現在實際上正在嘗試,禁用自動播放,設置我的自定義超時,以便它幾乎表現相同的方式,但我應該有一個更多的控制何時更改幻燈片 – Nick

+0

想與你分享.. 。檢查了這一點... https://github.com/nicinabox/superslides/blob/0.6-stable/examples/play.html – Shiladitya

回答

1

preventDefaultstopPropagation將無法​​正常工作。使用自定義的下一個和上一個按鈕並在其上寫入功能。檢查this pen我分叉你的筆,並修改它以符合您的需求。點擊下一步開始,我使用animate創建一個簡單的動畫。