我可以通過淡入淡出的gif動畫來顯示菜單和靜態圖標嗎?我希望淡入淡出時間發生在GIF動畫有時間播放一次之後。然後它會消失 - 或者更好 - 淡入淡出菜單和靜態標誌。謝謝。設置時間後淡出圖像以顯示菜單
0
A
回答
0
它是一個<img>
元素?如果是這樣的:
- 如果刪除
<img>
元素,頁面將回流和按鈕將會向上移動到「行雲流水」。 - 如果您使用
display: none
,圖像將不可見,並且不會佔用空間(頁面將重新排列,就像刪除了<img>
一樣)。 - 如果您使用
visibility: hidden
,<img>
將不可見,但會保留原位。按鈕將保持在不可見圖像下方。
要刪除元素或使用JavaScript編輯其CSS,首先需要獲取對其的引用。一種方法是給它一個id
並使用getElementById
。然後您可以操縱其style property或remove it from the DOM。
關於何時完成gif動畫的檢測:我無法知道如何使用JavaScript和常規gif <img>
元素來檢測此操作。你將不得不依靠setTimeout。由於加載時間每個訪客的不同,你可以開始超時當圖像具有finished loading:
<img src="img/animation.gif" id="disappearing_image" />
var img = document.getElementyById('disappearing_image');
var runtime = 1200; // in milliseconds
img.onload = function() {
setTimeout(function() {
$(img).fadeOut("slow");
}, runtime);
img.onload = null;
};
這將淡出圖像與後runtime
毫秒給出id
(「disappearing_image」)。
請注意,一旦處理完事件,我會將onload
處理程序重新設置回null
。這是因爲Internet Explorer將在加載圖像時首先觸發此事件,然後再對動畫的每個幀進行。
最後一個注意事項:不同的瀏覽器可能會加載不同的動畫gif。例如,一個瀏覽器可以在開始動畫之前加載整個文件,而另一個瀏覽器可以在加載時對圖像進行動畫處理,然後觸發onload
並再次進行動畫處理。如果遇到麻煩,您可以查看預加載您的圖像(在SO上搜索「[javascript] preload img」)。
相關問題
- 1. 在圖像淡出之後顯示iframe
- 2. jQuery在一定的設定時間後淡出DIV顯示
- 3. 如何在淡入淡出後重復顯示當前時間?
- 4. jquery淡入淡出的圖像和菜單下拉
- 5. 淡入淡出菜單
- 6. jQuery淡入淡出divs超過設置的時間間隔
- 7. 淡入淡出或淡入淡出後的顯示塊
- 8. 設置時間後顯示跨度類
- 9. 圖像之間的淡入淡出
- 10. 更換源後淡出/淡入圖像
- 11. jQuery animate - 圖像淡出後淡入?
- 12. 淡入圖像,淡出出圖像
- 13. 簡單的jQuery淡入淡出圖像
- 14. 淡入淡出顯示2張圖像之間的白色過渡
- 15. 點擊後隱藏菜單(淡出)
- 16. 延遲後淡出jQuery菜單
- 17. 一段時間後淡出畫布圖像
- 18. 設置springboot顯示圖像
- 19. 圖像懸停上的div顯示(與淡入淡出)
- 20. jQuery將鼠標懸停在文本上以顯示淡入淡出的圖像
- 21. jQuery淡入淡出圖像,然後加載淡出
- 22. 長時間查看時顯示菜單
- 23. jquery圖像淡入和淡出同時?
- 24. 同時jQuery淡入淡出圖像
- 25. 頁面加載時兩個圖像之間的淡入淡出然後停止
- 26. 以單排顯示圖像
- 27. JavaScript圖像滑塊在圖像之間沒有淡入淡出
- 28. jQuery淡出當前圖像,然後淡入點擊的圖像
- 29. jquery圖像淡入淡出時間由X
- 30. 滑動以顯示像Tweetie的菜單
很酷。 setTimeout看起來像它會這樣做。我一直在考慮以透明的形象褪色作爲延遲策略。我只是要設置足夠的時間來完成低速連接的動畫。這不會是一個重要的gif。我想知道如果我褪去一個動畫GIF,它會在完全褪色後播放還是在淡入淡出時嘗試播放?那麼這會像預加載一樣嗎? –
它會在淡出時播放。但它更好的IMO,你讓它首先通過運行時播放,然後淡出它。呃,取決於你的選擇。 –
如果你仍然懷疑,最好的事情將是一個小提琴,並嘗試玩它。 –