0

これを行うためにいくつかの方法を試しましたが、両方で問題が見つかりました。

  1. ajax 投稿から画像をロードし、画像 ID ソースを更新します。
  2. クラスがdisplay:noneに設定され、jqueryで画像を非表示/表示する「li」リストにすべての画像をロードするPHP関数。

私の問題は、これらの画像が最小 1440px x 960px であることです。そのため、ajax 投稿でロードすると、完全な画像を表示するのに時間がかかり、php ループでロードすると、ページのロードに非常に長い時間がかかります。

これが私のphpループ関数の例です:

public function LoadStreamImages()
{
    $imgs = '<li id="0"><img src="img/OM.jpg" class="bgimg" /></li>';
    if($db->num_rows($consulta)>0)
    {
        while($row = $db->fetch_array($consulta)) { 
            $imgs .= '<li id="' . $row['id'] . '" class="hidden"><img src="img/' . $row['imagefile'] . '" class="bgimg" /></li>';
        }
    }   

    echo $imgs;
}

これをスピードアップするために私にできることはありますか?

4

2 に答える 2

0

あなたの最善の解決策は、方法の間にあると思います。phpを介して画像情報を送信しますが、ページの読み込み後にjavascriptでemを読み込みます....

<?php
public function LoadStreamImages(){

    if($db->num_rows($consulta)>0)
    {
        $i =0;
        $imgs = array();    
        while($row = $db->fetch_array($consulta)) { 
            $imgs[$i]['id'] = $row['id'];
            $imgs[$i]['imagefile'] = $row['imagefile'];
            $i++;
        }
    }   

echo "<script>myImages = ".json_encode($imgs).";</script>";
}
?>

<li> と <img> のタグを挿入するだけで、myImages にページがロードされた後、javascript を使用して foreach を実行します。

于 2013-02-09T01:37:46.943 に答える
0

サムネイルを読み込んで大きな画像のサイズに引き伸ばすことができます。フルサイズの画像が利用可能になるまで、ぼやけたプレースホルダーとして機能します。低解像度の画像をフェードアウトして、その下の画像全体を表示します。これは、画像がいつ読み込まれたかを簡単に知る方法があることを前提としています。

于 2013-02-09T02:38:12.300 に答える