我绝不是任何种类的编码器或程序员的我,但我一直在试图加载和显示一些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