2010-06-08 14 views
7

क्या मैं स्विच स्टेटमेंट में अंतराल का उपयोग कर सकता हूं?अंतराल का उपयोग कर जावास्क्रिप्ट स्विच

switch (parseInt(troops[i])) { 
       case <10: 
        editbox.style.fontSize = "13px"; 
        break; 
       case <100: 
        editbox.style.fontSize = "12px"; 
        break; 
       case <1000: 
        editbox.style.fontSize = "8px"; 
        editbox.size = 3; 
        //editbox.style.width = "18px"; 
        break; 
       default: 
        editbox.style.fontSize = "10px"; 
      } 

तरह

???

+0

नहीं, तुम नहीं कर सकते हैं ... – psychotik

उत्तर

14

यह हालांकि काम करना चाहिए:

var j = parseInt(troops[i]); 
switch (true) { 
      case (j<10): 
       editbox.style.fontSize = "13px"; 
       break; 
      case (j<100): 
       editbox.style.fontSize = "12px"; 
       break; 
      case (j<1000): 
       editbox.style.fontSize = "8px"; 
       editbox.size = 3; 
       //editbox.style.width = "18px"; 
       break; 
      default: 
       editbox.style.fontSize = "10px"; 
     } 
+0

चालाक! (यह फिलर है, 15 char min argh!) – Rob

+0

मैं इसे हर समय vb में करता था। इसे सी # में नहीं कर सकता (बेहतर या बदतर के लिए) ... –

+0

फंकी! (फिलर) –

3

सं। switch केवल अलग मूल्यों के साथ उपयोग किया जा सकता है। श्रेणियों के लिए आपको if कथन का उपयोग करना होगा।

var val = parseInt(troops[i]); 
if (val < 10) { 
    editbox.style.fontSize = "13px"; 
} else if (val < 100) { 
    // ... 
} else { 
} 
+0

सही जवाब के लिए +1 की तरह है। फिर से +1, अगर मैं कर सकता था, वर्तनी सही ढंग से अलग करने के लिए। ;-) –

1

कभी कभी एक स्विच बहुत ज्यादा काम

var j= parseInt(troops[i]), 
val= j<10? 13: j<100? 12: j<1000? 8: 10; 

editbox.style.fontSize= val+'px'; 
if(val== 8) editbox.size= 3; 
संबंधित मुद्दे