0

3つのセクションからなるギャラリーを持つサイトがあります。各セクションには最大30枚の画像があります。関連するセクションに関連するフォルダ(つまり、「img / gallery / category1」、「img / gallery / category2」、「img / gallery / category3」)に画像を保存します。

基本的に、個々の画像を表示するhtmlを作成する代わりに、フォルダーを調べて各画像を表示し、事前定義されたコードスニペット内にURLを配置するjavascriptループを作成します。

<div class="span4">
  <img src="img/gallery/category1/IMAGE-FILENAME1">
</div>

<div class="span4">
  <img src="img/gallery/category1/IMAGE-FILENAME2">
</div>

...など、フォルダのすべての画像が処理されるまで...(また、上記のhtmlを使用すると少し賢くなる可能性があることはわかっていますが、見つかった各画像のURLを繰り返しの中に配置する必要があることを伝えたいと思いますコードのスニペット)。

私はまだjavascriptのトレーニングをしているので、これを行う方法があるかどうか疑問に思いました。

ありがとう

4

3 に答える 3

1

Javascriptだけではこれを行うことはできません...ただし、XMLまたはJSON形式の画像とそれぞれの場所のリストがある場合は、ajaxを使用してそのファイルを取得し、その内容を解析して、マークアップを作成できます。

于 2012-09-25T18:27:13.443 に答える
1

別の解決策を見つけました。

私はまだAJAX、JSON、または以下にリストされているものに取り組む準備ができていませんでした。そこで、PHPの使用を検討することにしました。次のような解決策:

まず、次のコマンドを使用して、フォルダーの内容に移動し、配列を読み取りました。

$directory = "DIRECTORY"

$dirhandler = opendir($directory);

$nofiles=0;
while ($file = readdir($dirhandler)) {

if ($file != '.' && $file != '..')
{
  $nofiles++;
  $files[$nofiles]=$file;                
}}

次に、foreachループを使用して、見つかったファイル名を参照するhtml出力をエコーするたびに、配列を反復処理しました。

完璧に動作します。

于 2012-09-27T19:51:48.063 に答える
0

Javascriptからサーバー上のディレクトリを直接見ることはできません。サーバーに対してAJAX呼び出しを行ってリスト(XMLまたはJSON)を取得し、応答をループするときにファイルごとに新しいdivを作成して追加することができます。

于 2012-09-25T18:26:33.380 に答える