次のプリロードスクリプトを使用してすべての画像を読み込んだ後、2つのdiv表示設定を切り替えて、ユーザーがサイトを表示しないようにしています。問題は、もちろん、IE 8とスイッチダウンの拒否です。私はいくつかのプリローダーの問題やこのようなバグを見てきましたが、それらはすべてキャッシュを参照していますが、実際の修正を見つけることはまだありません...どんな助けでも大歓迎です。jquery preloader addonがIE 8以降で動作していません...
拡張子:それを呼び出すために
(function($) {
var imgList = [];
$.extend({
preload: function(imgArr, option) {
var setting = $.extend({
init: function(loaded, total) {},
loaded: function(img, loaded, total) {},
loaded_all: function(loaded, total) {}
}, option);
var total = imgArr.length;
var loaded = 0;
setting.init(0, total);
for(var i in imgArr) {
imgList.push($("<img />")
.attr("src", imgArr[i])
.load(function() {
loaded++;
setting.loaded(this, loaded, total);
if(loaded == total) {
setting.loaded_all(loaded, total);
}
})
);
}
}
});
})(jQuery);
コード:ここでは、コードです
$(function() {
<? if ($dir = opendir('images')) {
$images = array();
while (false !== ($file = readdir($dir))) {
if ($file != "." && $file != "..") {
$images[] = $file;
}
}
closedir($dir);
foreach($images as $image) {
if(stristr($image, '.'))
$preload .= "'images/".$image."',";
}
$preload = substr($preload, 0, -1);
}?>
$.preload([<?=$preload?>],
{
loaded_all: function(loaded, total) {
$('#main_loading').css('display', 'none');
$('#container').css('display', 'block');
}
});
});
私はもともとこのコードを見つけましたが、私を満たすために、それを少し変更したところ、私は忘れますニーズ。私たちのdevサイトはこれを見ることができます:http://www.branninggroup.com/backbeat/media_player/
私はそれを表示する前に10秒待機を強制的にIEで今部分的に動作するように一時的な修正を入れましたが、明らかにむしろ画像すべてのページを表示するために読み込まれて....任意のヒント/アドバイスは非常に高く評価されるだろう。
これは美しく機能しましたが、削除する必要がありました。 .attr( "src"、imgArr [i])の後に。修正していただきありがとうございます! – Josh