私は決してどんな種類のコーダーやプログラマーでもありませんが、GIFを読み込んで表示するようにしています。同時に始まります。つまり、私はそれらを同期させる必要があります。複数のアニメーションGIFを同時に読み込み、Javascriptと同時に(同期して)表示します
私は多くのグーグルをしてきましたが、私はChrome/SafariとFirefoxでうまくいくように見えますが、いつものようにInternet Explorerは協力を拒否しています。
私の現在のコードはこれです:
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です。
あなたがここに住んで例を表示することができます。http://jsfiddle.net/AN9uB/
いくつかの可能な方法または潜在的に役立つ記事:
- Restart an animated GIF from JavaScript without reloading the image.
- Javascript to only display animated gif when loaded.
をしかし、これらのリンクのコメントを読んでから、 、私は彼らが可能であることが完全にはわからない。
私が使っているテスト用のgifは、私が見つけたばかりのランダムな画像であり、小さな予告ですが、大きさと期間がさまざまなgifをテストする必要があったため、すべてのGIFは1回だけ再生する最初のカウントダウン画像を除いてループします。
Firefox 3.6.18でページを表示しているときに、最初のカウントダウン画像がまったく再生されません(10に固まってしまいます)が、それ以外の場合は残りのgifがすべて同時に読み込まれて表示されることがあります。
主な問題は、Internet Explorerでこの作業を行う方法を考えることができないことです。私はおそらく画像をプリロードしてから、JavaScriptを使ってページをリフレッシュすると考えました。それは醜い解決策ですが、私はそれがうまくいくと思います。
Flashは、このようなことをするための明白なツールですが、私がこれを作っている友達はgifだけを使用しています。
すべての主要なブラウザで機能するより洗練されたソリューションがありますか?また理想的には、Javascriptを使用するだけで、JQueryは使用できません。
ありがとうございました。
'new Array'は醜いですが、代わりに' [] 'を使ってください:p – hugomg
私が言及したように、私はコーディングの初心者です(準拠しているブラウザで)。 – crackerbear
あなたは自分自身を説明する必要はありません - それは単なるニックピックでした。 – hugomg