2012-09-19 11 views
6

में सबसे व्यापक शब्द की चौड़ाई पाएं लक्ष्य सबसे व्यापक शब्द की चौड़ाई को ढूंढना है।एचटीएमएल ब्लॉक

टेक्स्ट एक वाक्य है जिसमें छवि में दिखाए गए अनुसार विभिन्न फ़ॉन्ट्स वाले शब्द शामिल हैं।

font ranges एचटीएमएल लगता है:

<span style="font:bold 14px Verdana;">LONGESTW</span> 
<span style="font:bold 42px Verdana;">ORD</span> 
<span style="font:bold 14px Verdana;">&nbsp;</span> 
<span style="font:bold 24px Verdana;">ORD</span> 
<span style="font:bold 14px Verdana;">&nbsp;</span> 
<span style="font:bold 24px Verdana;">regular</span> 
<span style="font:bold 14px Verdana;">&nbsp;</span> 
<span style="font:bold 32px Verdana;">w</span> 
<span style="font:bold 96px Verdana;">id</span> 
<span style="font:bold 64px Verdana;">est</span> 

तो, यहाँ 3 शब्द व्यापक है। कोई विचार? सब कुछ एचटीएमएल है और हम किसी भी चीज (jquery, ES5 तकनीक आदि) का उपयोग कर सकते हैं।

+1

सवाल पसंद आया! अच्छी पहेली के लिए +1 और अतिरिक्त इमेजरी – Yarneo

उत्तर

1

मुझे लगता है कि यह एक समाधान होने का नाटक करता है।

समाधान नीचे

http://jsfiddle.net/WtcEQ/4/

+0

शायद पहले शब्द निर्धारित करने के लिए स्थान को विभाजित करने की आवश्यकता है। –

+0

हां, हम यह भी मान सकते हैं कि "व्हाइटस्पेस" शब्दों के बीच एकमात्र डिलीमीटर है। जैसे "12,000,22" 1 शब्द – sbr

+0

है, मैंने अपना कोड अपडेट कर लिया है, अब यह अधिक लचीला होना चाहिए। http://jsfiddle.net/WtcEQ/13/ –

0

प्रयास करें जो मूल रूप से सभी अंतराल पर दोहराता और सबसे लंबा शब्द पाता है।

$(function() { 
    var max = 0, sum = 0, lword = '', mword = ''; 

    var $span = $('span'); 
    $.each($span, function (idx, el) { 

     var elTxt = $(el).text().trim(); 

     if (elTxt) { 
      sum += $(this).width(); 
      lword += $(this).text(); 
     } 

     if (!elTxt || $span.length == (idx+1)) { 
      if (sum > max) { 
       max = sum; 
       mword = lword; 
      } 
      sum = 0; 
      lword = ''; 
     } 
    }); 

    alert(mword + ' ' + max); 
}); 

डेमो:http://jsfiddle.net/WtcEQ/32/

+0

इस परीक्षण मामले को आजमाएं: http://jsfiddle.net/sahilb/WtcEQ/24/ – sbr

+0

@sbr मेरा अद्यतन कोड देखें .. –

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