2012-02-16 15 views
0

for文でPHPで80個のイメージのセットを作成しました。しかし、画像の読み込みには時間がかかりすぎます。私は遅延読み込みを使用してギャラリーのページングを実装しようとしました。 jQueryのsimplePagerとlazyLoadを使用しましたが、動作しませんでした。これを行う別の方法がありますか?動的ページングと遅延ロード

+3

simplePagerとlazyLoadについては何が問題になりましたか? –

+1

Dynamic Progressive Loadingのようなものはどうですか? http://stackoverflow.com/questions/5020351/how-to-load-the-web-page-content-based-on-user-scrolling/5020406#5020406 – Dutchie432

+0

これは興味深いかもしれません。[Howユーザーがビューにスクロールするときにイメージを動的に(または遅延して)ロードする](http://stackoverflow.com/q/5117421/87015) –

答えて

0

あなたがしている可能性がある愚かな間違いの1つは、画像全体を読み込んでいることです。私の画像ギャラリーでは、データベースに保存されているすべての画像を持ち、サーバーのキャッシュに保存して、処理時間を節約してから、ユーザーが画像をクリックしたいときにはクリックし、画像を送信するときにはそれをクリックします。この方法では、私はそれ以上の画像を送信する必要はありません。

あなたは、PHPを使用しているので、GDライブラリ、またはimagickを検索、あなたはあなたのために、より適している1見るためにウェブを検索、これらを行うためにいずれかを使用することができます。..

希望このことができます!

+0

私はすでに親指を作っています。クリックすると10枚の写真を追加するオプションがありますか? – mtrebizan

0

は、CSSを使用したように、それがユーザーに表示されていないことをDOMにsomewere画像タグを追加します。

img.loader { 
    position: absolute; 
    left: -10px; 
    width: 1px; 
    height: 1px; 
} 

を次にタグで次々イメージを追加するにはJavaScriptを作成します。 onLoadイベントでリスナーを追加するには、jQueryを使用します。

var myImages = []; // Array contains your list of imagens to be loaded 
function loadImage(i) { 
    if myImages.lenght <= i return; 
    img = $("<img>").attr({"src":myImages[i], "class":"loader"}); 
    img.load(arguments.callee(i++); 
    $(document.body).append(img); 
} 
if myImages.lenght > 0 loadImage(0); 
+0

この機能をボタンのクリックに追加して、10枚の画像を読み込むたびに変更できますか?私はデザイナーだけjqueryを習得しようとしているので、不自由な質問を申し訳ありません)と助けてくれてありがとう! – mtrebizan

+0

はい、ターゲットリンクからloadImage(0)関数をonClickに追加するだけです。 'link'のようなもの –