最近我們爲我們的網站製作了一些GIF動畫。其中一個動畫是地圖上的標記,在空中「跳躍」。我們的想法是讓鼠標在鼠標上跳躍一次。換句話說:它只能播放一次,而不是在盤旋時進入無限循環。JS/jQuery - 僅在懸停時播放GIF
我開始閱讀這篇文章:Animating a gif on hover。我使用代碼在懸停時啓動動畫,並用鼠標將其替換爲靜態圖像。
但是這並沒有使我接近我想要的東西。有了這個腳本,它一直在循環播放,這是邏輯,但正是我們不想要的。另外,當您將鼠標移出時,我們希望GIF繼續動畫直到完成,而不是立即停止。最後但並非最不重要的是:當您懸停時,請將鼠標移出,然後在動畫仍在繼續時再次懸停,在播放過程中不應重新啓動。
據我現在的理解,當我們創建動畫時我並沒有意識到,使用jQuery來控制GIF動畫非常困難。
我能想到的唯一的事情就是使用動畫的時間/持續時間。例如。如果動畫需要3秒鐘,那麼我們可以用GIF將靜態圖像(懸停時)替換爲這段時間。如果我們在img標籤中的數據屬性中傳遞持續時間,我們甚至可以爲所有GIF編寫通用腳本。但是這意味着需要編寫大量的代碼,而且這對我來說似乎不是最簡單的方式。
有沒有人有一個更簡單的方法來實現我們想要的想法?我期待着聽到你對這個問題的看法。
把它切換成.mp4怎麼樣? – user2182349
http://stackoverflow.com/questions/16139629/can-jquery-know-when-my-animated-gif-has-ended這裏是一個類似的問題,但不認爲有一個簡單的方法來做到這一點,除非你將其轉換爲視頻。然後你可以等到它完成。 – khuderm
使用多個gif –