1

ここでJavaScriptのループに少し問題があります。

jsonファイルからデータを受け取り、そのコンテンツをdivに入れるonclickメソッドがあります。

jqueryのajax成功メソッドは次のようになります。

'success' : function(data) {
                items.push('<div class="home-page-slide-item"><ul>');   
        $.each(data, function(i, item) {
            if(!item.noData) {
                if(i % 7 == 0) {
                items.push('</ul></div><div class="home-page-slide-item"><ul>');
            }
                    
            items.push('<li><a href="' + item.link + '"><img src="' + item.poster + '" /><span>' + item.title + '</span></a></li>');
            }
                });
                $("div#" + $.cookie('type') + "-slides .home-page-slides").html(items.join(''));
        }

7つのリストアイテムごとに、ulタグとdivタグでラップする必要があります。
ラップしますが、このループの前に最初の追加のdiv> ulタグも追加します。どうすれば削除できますか?成功メソッドの「items」配列で並べ替えて、目的の結果を得るにはどうすればよいですか?

これが私が得たものの画面です。

これが私が得たものの画面です。

4

4 に答える 4

2
if(i % 7 == 0  && i > 0) { //skip first occasion since 0 % 7 === 0

}
于 2012-05-29T07:13:26.513 に答える
0

プッシュする前に if(i % 7 == 0) をチェックしたと思います。これを押してから実行する必要があります

'success' : function(data) {
                items.push('<div class="home-page-slide-item"><ul>');   
        $.each(data, function(i, item) {


            items.push('<li><a href="' + item.link + '"><img src="' + item.poster + '" /><span>' + item.title + '</span></a></li>');

            if(!item.noData) {
                if(i % 7 == 0) {
                items.push('</ul></div><div class="home-page-slide-item"><ul>');
            }


            }
                });
                $("div#" + $.cookie('type') + "-slides .home-page-slides").html(items.join(''));
        }
于 2012-05-29T07:13:27.440 に答える
0

変化する

if(i % 7 == 0) {

if(i > 0 && i % 7 == 0) {

それはだから0 % 7 == 0

于 2012-05-29T07:13:33.263 に答える
0

0 % 7 = 0 ではありませんか? i = 0 も確認し、次のようにそのケースを削除する必要があると思います: if(!item.noData && i != 0) { ... }

于 2012-05-29T07:17:51.123 に答える