我絕不是任何種類的編碼器或程序員的我,但我一直在試圖加載和顯示一些GIF格式,使它們都從動畫顯示在同一時間(同步)多個GIF動畫同時開始。換句話說,我需要它們同步。加載和使用Javascript
我已經做了很多的谷歌搜索的,什麼我已經出來,似乎在Chrome/Safari和Firefox的工作,但像往常一樣,IE瀏覽器拒絕合作。
我當前的代碼是這樣的:
var images = ["thephoto1", "thephoto2", "thephoto3", "thephoto4", "thephoto5"];
function initImages() {
for (var i = 0; i < images.length; i++) {
imageId = images[i];
image = document.getElementById(imageId);
image.style.visibility = "visible";
}
}
function preloadImages(urls) {
var img = new Array();
for (var i = 0; i < urls.length; i++) {
img[img.length] = new Image();
img[img.length - 1].src = urls[i];
}
}
window.onload = function() {
var img = new Array(
"http://desmond.imageshack.us/Himg391/scaled.php?server=391&filename=countdown.gif&res=medium",
"http://icanhascheezburger.files.wordpress.com/2010/11/funny-pictures-gif-cat-love.gif",
"http://i52.photobucket.com/albums/g9/cpchick/Random%20Gifs/therock.gif",
"http://www.mobileapples.com/Assets/Content/Screensavers/dc_1owy86mw.gif",
"http://www.pptbackgrounds.fsnet.co.uk/images/powerpoint-countdown-u1.GIF"
);
preloadImages(img);
initImages();
}
增加了一些CSS:
.preload
{
visibility: hidden;
}
它基本上this和this script結合。
您可以查看這裏活生生的例子:從閱讀這些鏈接的評論
- Restart an animated GIF from JavaScript without reloading the image.
- Javascript to only display animated gif when loaded.
一些可能的方法或可能有幫助的帖子,我不完全相信他們是可能的。
我使用的測試的GIF只是我發現隨機圖像和一個小的預警,一些圖像是因爲我需要測試不同的GIF不等的大小和持續時間相當大。除了第一次只播放一次的倒計時圖像外,所有的gif都會循環播放。
在某些情況下,當使用Firefox 3.6.18查看頁面時,第一個倒計時圖像根本無法播放(停留在10),但其他情況下,所有gif都會同時加載並顯示。
的主要問題是,我不能想辦法讓與Internet Explorer這項工作。我想也許預載圖像,然後通過JavaScript刷新頁面。這是一個醜陋的解決方案,但我認爲它會起作用。
Flash是明顯的工具可以做這種事情中,但我使這裏成爲誰的朋友只使用GIF格式。
是否有更適合所有主流瀏覽器的優雅解決方案?理想情況下,只使用Javascript,而不是JQuery。
感謝您的任何幫助。
'新陣列'是醜陋的,用'[]'代替:p – hugomg
就像我剛纔提到的,我是一個完全的新手編程,因爲代碼的工作原理(在兼容的瀏覽器中),我只是保持原樣。 – crackerbear
你不需要解釋你自己 - 這只是一個挑逗。 – hugomg