2011-02-28 8 views
0

達成しようとしているのは読み込み中の説明ボックスで、読み込み中のものや読み込み中のパーセンテージが表示されます。div内のステータスバーメッセージ

私の設定は基本的な "show div on after on document.all"であり、ページ全体がそのdiv内にあります。

document.allがtrueになる前に、nifty circleイメージ(Ajaxローダースタイル)が表示され、ページが表示されていない間に小さな記述を追加することが可能な場合(可能な場合) :

ロード20%

または

は、などからの情報を読み込んでいます... |これは、スクリプトの読み込み時またはサービスとの通信時に、ステータスバーメッセージに実際に表示される内容を使用します。

私はこれをBloggerで実行していますので、PHPやカールなどはうまくいきません。javascriptやajaxを使用すれば完璧です。

ありがとうございました!

答えて

2

これは、パーセンテージを作成するために使用するものによって異なります。イメージ?すべての画像の数を取得し、読み込み時にハンドラをアタッチします。

私はそのためにjQuery pluginを持っていますが、通常のJavaScriptを書いておきます。

// Implement your own cross browser onDOMReady event 
var allImgs = document.getElementsByTagName('img'), 
    allImgsLength = allImgs.length, 
    imgsLoaded = 0, 
    statusbar = document.getElementById('status'); 

for (var i = 0; i < allImgsLength; i++) { 

    allImgs[i].onload = function() { 

     imgsLoaded++; 

     statusbar.innerHTML = 'Loaded ' + imgsLoaded + ' of ' + allImgsLength + '.'; 

     if (imgsLoaded == allImgsLength) { 
      statusbar.innerHTML = 'All ' + imgsLoaded + ' images loaded.'; 
     } 

    }   
} 

jsFiddle

+0

divコンテナ内にある文書全体を計算し、完了前に既に読み込まれているものの割合を取得することはできません。 – Shadow

+0

@ user524695私は分かりません - 事前に計算した合計をあなたのスクリプトに渡さない限り、ロードされたDOM要素をポーリングすることはできません。画像はページを読み込むときに一般的にボトルネックになるので、良い賭けです。 – alex

+0

まあ、これは私が探していたものではありません。なぜなら、約3〜4枚の画像があるだけなので、ローディングは正確ではないでしょう。1 2 3 4:/ – Shadow