javascript
2011-09-16 70 views 0 likes 
0

我有一些循環和中斷的問題。 我有一個數組n,當我達到第10個元素時,我必須做smth。例如:循環陣列屬性和中斷

$.each(videoDataList,function(k){  
     html = '' 
     if(k % 10 == 0){ 
      html += (k == 0 ? "<ul>" : "</ul><ul>"); 
     } 
     html += '<li class="item">' 
     html += '<a href="#" id="vl_'+(k+1)+'">' 
     html += '<span class="score_journalist" id="num_'+videoDataList[k].score_journalist+'">'+videoDataList[k].score_journalist+'</span>' 
     html += '<img src="/files/preview/s/'+videoDataList[k].video_id+'.jpg" alt="" />' 
     html += '<span class="rating clearfloat">' 
     html += '<span class="votes"><span class="title">рейтинг:</span> <span class="count">'+videoDataList[k].score_user+'</span></span>' 
     html += '</span>' 
     html += '<span class="filter"></span>' 
     html += '</a>' 
     html += '<img src="/files/preview/b/'+videoDataList[k].video_id+'.jpg" alt="" class="big"/>' 
     html += '</li>' 
     if(k == videoDataList.length){ 
      html += "</ul>"; 
     } 
     $(html).appendTo('#videoLists ul.list') 
    }) 

我想有10個元素李並把它們放到UL。那麼我想循環我的數組從第11個元素到第21個元素,再次從11到21的LI我想放入另一個UL。 這可能嗎?

+2

offtopic:不要調用你的數組Array'。 – c69

+0

是的,我知道。舉個例子 – rsboarder

+0

Upvoted?真的嗎? –

回答

1

這很容易與模運算符:

for(k=0;k<=Array.length;k++){ 

    if(k % 10 == 0 || k == 0) 
    { 
     if(k > 0) 
     { 
      html += '</ul>' 
     } 
     html += '<ul>' 
    } 


    html += '<li class="item">' 
    html += '<a href="#" id="vl_'+(k+1)+'">' 
    html += '<span id="num_'+Array[k].prop1+'">'+Array[k].prop1+'</span>' 
    html += '<img src="/files/preview/s/'+Array[k].prop2+'.jpg" alt="" />' 
    html += '<span class="rating clearfloat">' 
    html += '<span class="votes">'+Array[k].prop3+'</span>' 
    html += '</span>' 
    html += '<span class="filter"></span>' 
    html += '</a>' 
    html += '<img src="/files/preview/b/'+Array[k].prop4+'.jpg" alt="" class="big"/>' 
    html += '</li>' 

    if(k == Array.length) 
    { 
     html += '</ul>' 
    } 


} 
1
if(k % 10 == 0){ 
    html += (k == 0 ? "<ul>" : "</ul><ul>"); 
} 

在您的for循環之後輸入此權限。

同樣的結束for循環加載之前:

if(k == Array.length){ 
    html += "</ul>"; 
} 

這是你要找的東西?

整個代碼:

html = '' 
$.each(videoDataList,function(k){   
    if(k % 10 == 0){    
     html += (k == 0 ? "<ul>" : "</ul><ul>");   
    }   
    html += '<li class="item">'   
    html += '<a href="#" id="vl_'+(k+1)+'">'   
    html += '<span class="score_journalist" id="num_'+videoDataList[k].score_journalist+'">'+videoDataList[k].score_journalist+'</span>'   
    html += '<img src="/files/preview/s/'+videoDataList[k].video_id+'.jpg" alt="" />'     
    html += '<span class="rating clearfloat">'   
    html += '<span class="votes"><span class="title">рейтинг:</span> <span class="count">'+videoDataList[k].score_user+'</span></span>'   
    html += '</span>'   
    html += '<span class="filter"></span>'   
    html += '</a>'   
    html += '<img src="/files/preview/b/'+videoDataList[k].video_id+'.jpg" alt="" class="big"/>'   
    html += '</li>'   
    if(k == videoDataList.length){   
     html += "</ul>";   
    }    
})   
$(html).appendTo('#videoLists ul.list') $(html).appendTo('#videoLists ul.list') 
+0

好吧,我有奇怪的:http://imageshack.us/photo/my-images/14/unled1xp.png/ – rsboarder

+0

這真的很奇怪。你能否將代碼複製到你的文章中,以便我們看到你到底在做什麼? :-) – Matschie

+0

是的,貼:-) – rsboarder

0

肯定。將此添加到循環的頂部和底部。

if (k % 10 === 0) { 
    // do some work 
} 
相關問題