2015-07-20 47 views
3

現在我有四個滑梯的flexslider。第三個滑塊是一個gif而不是像其他的jpg。 我遇到的問題是,這第三GIF滑塊顯然開始時立即到達頁面,而不是當你真正得到的是滑塊。當點擊前兩個滑塊時,gif即將完成。GIF滑塊flexslider,如何纔開始的GIF當滑塊

任何人有任何想法,只有當一個人達到該 滑塊我將如何開始一個GIF?

回答

1

我終於找到你的解決方案測試的一小時後,該before功能添加到您的聲明代碼,並改變未來imgsrc清空,並回到原來的src做的工作,像波紋管:

JS:

這個代碼將只顯示前初始化的GIF。

$('.flexslider').flexslider({ 
    animation: "slide", 
    before: function(slider){ 
     var src = $(slider).find('.flex-active-slide').next().find('img').attr('src'); 
     $(slider).find('.flex-active-slide').next().find('img').attr('src','').attr('src',src); 
    } 
    }); 

它的工作完全適合我。

JS Fiddle(你可以看到,在GIF櫃檯總是由10開始,沒有你發現計數器已經開始before功能),希望幫助。

1

據我所知,這不是真的有可能暫停使用代碼/停止/播放GIF動畫。直到元素在屏幕上實際可見

我所知道的是解決辦法...

  1. 一些瀏覽器將無法啓動的GIF動畫,所以你可以隱藏圖像,直到幻燈片是活躍然後$('#MyGifImage').show()。但是,您需要測試它在不同瀏覽器中的表現。

  2. 正如this question建議您可以創建圖像的精靈,而不是一個GIF動畫。

您是否嘗試過這些方法?

+0

試過精靈的方法,但它似乎有點過時。就您的建議#1而言,是否有辦法找出「活動」幻燈片? –

+0

@MattC。我想你會發現動畫GIF比使用CSS精靈要古老得多。是的,Flexslider有一個JS API可以爲你觸發事件。我現在不在,所以不能把代碼放下。 –