2017-03-03 134 views
-1

我想在節上插入動態html元素。 例如,當我需要三列時,我將首先調用循環,其中有3個動態html部分。當我需要兩列時,我會調用第二個循環,其中有2個動態html部分。我認爲我需要切換案例來選擇我需要的循環,但這有可能嗎? for循環內部switch語句。下面,for循環裏面的switch語句在javascript中

switch(){ 
    case 1; 
     for(var d = 0; d<3; d++){trigger} 
    case 2; 
     for(var a = 0; a<2; a++){trigger} 
    case 3; 
     trigger; 
} 

$(function(){ 
 
    \t for(var d = 0; d<3; d++){ 
 
\t \t \t \t $("#section").append("<article id='menu_'" + d + ">menu</div>"); 
 
\t \t \t 
 
\t \t \t \t var cssObj = { 
 
\t \t \t \t \t 'width' : '33%', 
 
\t \t \t \t \t 'background' : 'blue', 
 
\t \t \t \t \t 'float' :"left", 
 
\t \t \t \t \t 'border':"1px solid #aaa" 
 
\t \t \t \t } 
 

 
\t \t \t \t 
 
\t \t \t \t $("#section").children("#menu_").css(cssObj); 
 
\t \t \t } 
 

 
\t \t \t for(var a = 0; a<2; a++){ 
 
\t \t \t \t $("#section1").append("<article id='menu_'" + a + ">menu</div>"); 
 

 
\t \t \t \t var cssObj = { 
 
\t \t \t \t \t 'width' : '49.6%', 
 
\t \t \t \t \t 'background' : 'yellow', 
 
\t \t \t \t \t 'float' : 'left', 
 
\t \t \t \t \t 'border' : '1px solid #aaa' 
 
\t \t \t \t } 
 

 
\t \t \t \t $("#section1").children("#menu_").css(cssObj); 
 
\t \t \t } 
 

 
\t \t \t $("#section2").append("<article id='menu_'>menu</div>") 
 
\t \t \t var cssObj = { 
 
\t \t \t \t 'width' : '99.7%', 
 
\t \t \t \t 'background' :'green' 
 
\t \t \t } 
 

 
\t \t \t $("#section2").children("#menu_").css(cssObj); 
 

 

 

 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script> 
 
<div id="section"> 
 
\t \t \t 
 
</div> 
 

 
<div id="section1"> 
 

 
</div> 
 

 
<div id="section2"> 
 

 
</div>

+0

代替具有根據遇到哪種情況執行的循環。我會創建一個函數,它接受一個int參數並將其指定爲循環控制變量。 –

回答

1

我的建議是使用switch定義的次數,你會調用觸發,做外面的循環:

switch(val){ // whatever val you're testing 
case 1: 
    n =3; 
    break; 
case 2: 
    n =2; 
    break; 
case 3: 
    n=1; 
} 
for(var d = 0; d<n; d++){trigger} 
+0

這很酷,但如果var cssObj不同?如果三列,寬度必須爲33.33%。如果兩列,寬度必須是50%。你的建議看起來像循環觸發器是一樣的。 –

+0

我相信你的問題並不完全是「如何在switch語句中調用'for'loop」,而是與動態大小相關的一些頁面結構。我建議你編輯你的問題,並澄清你到底想要做什麼。 – 2017-03-03 01:02:48