2016-09-05 9 views
-1

こんにちは私はカルーセルブートストラップメニューを作っています。 私のバグはどこに教えてもらえますか? これはjquery .each()関数の発行オブジェクト

 $.each(data.items, function(i, item) { 
     if (i == 0) 
     $("<div>").addClass("item active").appendTo("#images"); 
     if ((i+1) % 3 == 0) 
     $("<div>").addClass("item").appendTo("#images"); 

     $("<div>").attr("id", "image-" + i).addClass("col-sm-4 text-center").appendTo(".item"); 
     $("<a>").attr({ 
     "href" : "#", 
     "class": "thumbnail", 
     "id" : "thumb-" + i 
     }).appendTo("#image-" + i); 
     $("<img>").attr("src", item.media.m).appendTo("#thumb-" + i); 
     if (i === 8) { 
     return false; 
     } 
    }); 

JSコードでHTMLコード

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel" data-interval="3000"> 
<div id="carousel"> 
    <div id="images" class="row"> 
    </div> 
</div> 
<!-- Controls --> 
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> 
    <span class="glyphicon glyphicon-chevron-left"></span> 
</a> 
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> 
    <span class="glyphicon glyphicon-chevron-right"></span> 
</a> 
<!--/--> 

は出力が

https://i.gyazo.com/21a051f608e89d8e89c85163de0ce1d7.png

のようなもので、私はちょうどダイブにこれらのオブジェクトを解析する必要があります。

第.itemのDIVは、画像0、画像1と画像2(及びそれのクラスは、項目アクティブである)を含む同様 次.itemのDIVは、画像3、画像4、画像5は、(単に解析含みます3つのオブジェクトが連続して表示されます)。

誰かが私を助けることができますか?

答えて

2

あなたの投稿に書かれているように、3回の反復ごとにサブ要素と画像を作成するこのスクリプトを試してみてください。

$.each(data.items, function(i, item) { 
    // Create a div.item each 3 iterations 
    if(i % 3 === 0) { 
    $("#images").append('<div class="item"></div>'); 
    } 

    // Get the last item and append images to it 
    $("div.item").last().append('<div id="image-' + i + '" class="col-sm-4 text-center"></div>'); 

    // Append a href in element 
    $("div#image-" + i).append('<a href="#" id="thumb-' + i + '" class="thumbnail"></a>'); 

    // Append image 
    $("a#thumb-" + i).html('<img src="' + item.media.m + '"/>'); 
}); 

    // Then put the active class on the first item. 
    $("div.item").first().addClass('active'); 
+0

正しく解析していますが、画像はありません。 Imgは追加しません。私はすでに$( "a thumb-" + i)を固定していましたが、まだ動作していません。 – Johnczek

+0

私はJSBinでテストしましたが、うまくいきます。 このコードを実行してくださいhttps://jsbin.com/rezipekoda/7/edit?html、js、出力 結果を調べると正しい出力が表示されます –

+0

これは実行後のHTMLコードです。https://gyazo.com/d71c249ec3b8b82ca2a92bca51cf5a45 – Johnczek

関連する問題