2010-11-08 18 views
6

में प्रदर्शित करने के लिए वर्ण सीमा सेट करें, मैं एक JSON फ़ीड से खींच रहा हूं और मैं स्ट्रिंग के अधिकतम 10 वर्ण प्रदर्शित करना चाहता हूं और फिर ... बाद में। मैं JQuery के साथ ऐसा कैसे करूं?पैराग्राफ

+0

आप अपने प्रश्न को संपादित कोड आप पहले से ही अधिक प्राप्त करने के लिए लिखा है के कुछ शामिल करने के लिए प्रतिक्रियाओं। ब्रांड नए उपयोगकर्ता के लिए +1 सूचीबद्ध नहीं होने के कारण मतदान किया गया है। –

उत्तर

4

आप jQuery की जरूरत नहीं है, जे एस ऐसा कर सकते हैं:

 
string.substr(start,length) 

start The index where to start the extraction. First character is at index 0 
length The number of characters to extract. If omitted, it extracts the rest of the string 
6

मैंने इसे एक त्रुटि से बंद नहीं किया है, इसलिए आपको खराब अनुक्रमण के लिए समायोजन करना पड़ सकता है।

var txt = SomeStringFromFeed; 
if(txt.length > 10) 
{ 
    txt = txt.substr(0,10) + "..."; 
} 
return txt; 
11

आप एक अंडाकार स्थापित करने के लिए सीएसएस का उपयोग कर सकते हैं:

.myparagraph { 
    white-space: nowrap; 
    width: 10em; 
    overflow: hidden; 
    text-overflow: ellipsis; 
} 

तो किसी भी jQuery के लिए कोई आवश्यकता नहीं है या अन्य कोडिंग।

संदर्भ:

(ध्यान दें कि पहली कड़ी - Quirksmode.org आम तौर पर CSS और Javascript सामान के लिए एक उत्कृष्ट संसाधन है)

+1

सीएसएस का कूल उपयोग। टेक्स्ट ओवरफ्लो के बारे में नहीं पता था, मुझे इसके बारे में और जानना होगा। –

+0

सीएसएस इलिप्सिस अच्छा है लेकिन यह केवल ग्रंथों की एक पंक्ति का समर्थन करता है – JoenasE

2

मुझे विश्वास नहीं है कि @spudley द्वारा वर्णित सीएसएस समाधान क्रॉस ब्राउज़र है (कोई फ़ायरफ़ॉक्स समर्थन नहीं है)। मान लीजिए कि आप निश्चित रूप से उस परवाह करते हैं। वह जो पहला लिंक प्रदान करता है वह पृष्ठ के शीर्ष दाएं कोने में सीमित समर्थन भी बताता है।

अब कहा गया है कि मेरे पास एक अच्छा छोटा फ़ंक्शन है जो आपको आवश्यकतानुसार अधिक हो सकता है, लेकिन मैंने पाया है कि मैं इसे नियमित रूप से इसी तरह की स्थितियों में उपयोग करता हूं। नीचे दिए गए कोड पर टिप्पणी की गई है, लेकिन यह क्या करता है यह केवल सेट सीमा के आधार पर अंतिम पूर्ण शब्द के बाद एक इलिप्सिस डालने वाला है।

तो तुम लौट सकते हैं "कुत्ते कूदता है ..." के बदले "कुत्ते ove कूद ..."

// ============================================================================================== 
// Truncate a string to the given length, breaking at word boundaries and adding an elipsis 
//  @param str - String to be truncated 
//  @param limit - integer Max length of the string 
//  @returns a string 
// ============================================================================================== 

    function truncate(str, limit) { 
     var chars; 
     var i; 

     // check if what was passed as a string is actually a string 
     if (typeof(str) != 'string') { 
      return ''; 
     } 

     // create an array of the chars in the string 
     chars = str.split(''); 

     // if the length is greater than the set limit, process for truncating 
     if (chars.length > limit) { 
      // while the char count is greater than the limit, 
      for (i = chars.length - 1; i > -1; --i) { 
       // if char count is still greater, redefine the array size to the value of i 
       if (i > limit) { 
        chars.length = i; 
       } 
       // if char count is less than the limit keep going until you hit a space 
       // and redefine the array size to the value of i 
       else if (' ' === chars[i]) { 
        chars.length = i; 
        break; 
       } 
      } 
      // add elipsis to the end of the array 
      chars.push('...'); 
     } 
     // return the array as a string 
     return chars.join(''); 
    } 
+0

आप सही हैं, यह फ़ायरफ़ॉक्स * अभी तक * (जल्द ही उम्मीद है?) द्वारा समर्थित नहीं है। लेकिन अन्य सभी ब्राउज़र इसका समर्थन करते हैं (यहां तक ​​कि आईई 5.5 के रूप में आईई भी), इसलिए इसमें अच्छा कवरेज है, और यहां तक ​​कि फ़ायरफ़ॉक्स भी इसे सही ढंग से छोटा कर देता है। इसके अलावा एक्सयूएल का उपयोग करके फ़ायरफ़ॉक्स में काम करने के लिए हैकी काम-आसपास हैं ... लेकिन यह एक अन्य प्रश्न और उत्तर है। – Spudley

+0

@ स्प्डली यह एक अच्छा समाधान है। मैं व्यक्तिगत रूप से प्रतीक्षा करता हूं कि यह क्रॉस ब्राउज़र कब काम करेगा। मैं सिर्फ यह सुनिश्चित करना चाहता था कि वह (और कोई और जो उत्तर के लिए इस प्रश्न में ठोकर खा सकता है) को पता था कि अगर उनकी जरूरतों को एक क्रॉस ब्राउज़र समाधान की आवश्यकता है, तो यह उनके लिए उम्मीद नहीं कर सकता है। –

+0

ठंडा। मैं इसका इस्तेमाल करने की कोशिश करूंगा – JoenasE

संबंधित मुद्दे