1

私はjqueryとjavascriptを初めて使用するので、この質問がばかげていると思われる場合は申し訳ありません。

ギャラリーを作成するために、対応するフォルダーのコンテンツ (画像) をいくつかの div に読み込もうとします。

<div id="menu">
<div class="gallery" id="div0">ok0</div>
<div class="gallery" id="div1">ok1</div>
<div class="gallery" id="div2">ok2</div>
<div class="gallery" id="div3">ok3</div>
<div class="gallery" id="div4">ok4</div>
<div class="gallery" id="div5">ok5</div>        
</div>

<script>
var $container = $("#menu div.gallery");    
  $container.each(function(){
    var $n = $(this).attr('id');
    tl = 0;

    var img = ["0001","0002","0003","0004","0005","0006","0007","0008","0009"];
    $.each(img,function (i, v) {
    $container.append('<div class="gallery_img" style="top:' + tl + 'px; left:' + tl + 'px; background-image:url(imgsmall/'+ $n +'/'+ v +'.jpg);"></div>');
      tl += 8;});           
});

$container.width(tl + 200).height(tl + 200).find("div").mouseover(
    function () {
    $(this).topZIndex();
    }
);  
</script>

すべての div id はフォルダーの名前に対応していますが、 $container.each() 関数と $.each() 関数のために、適切なフォルダーのコンテンツを適切な div にアップロードする方法が見つかりません。このようにして、すべての div 内のすべてのフォルダーのコンテンツをアップロードします。

また、この配列をどのように置き換えることができますか

  var img = ["0001","0002","0003","0004","0005","0006","0007","0008","0009"];

きちんとしたもので?

4

1 に答える 1

0

このようにして、各divのすべてのファイルをアップロードします

これは<div>、すべての画像をループして DOM に追加するためです。

と画像が同じ順序である場合<div>は、次のことができます。

var img = ["0001","0002","0003","0004","0005","0006","0007","0008","0009"];
$container.each(function(index, el){
    var $n = el.attr('id');
    tl = 0;

    var currentImg = img.splice(index, 1);

    el.append('<div class="gallery_img" style="top:' + tl + 'px; left:' + tl + 'px; background-image:url(imgsmall/'+ $n +'/'+ currentImg +'.jpg);"></div>');

      tl += 8;           
});
于 2013-09-23T09:21:44.807 に答える