2012-06-21 11 views
13

क्यों आईई, क्रोम और सफारी पर क्लाइंटविड्थ/ऊंचाई वापसी 0? लेकिन फ़ायरफ़ॉक्स और ओपेरा पर ठीक काम करता है। मैंने इस कोड का उपयोग किया:क्लाइंटविड्थ और क्लाइंट हाइट रिटर्न 0

$(document).ready(function() { 

    var imgs = document.getElementsByTagName('img'); 
    var imgLength = imgs.length; 

    for (var i = 0; i <= imgLength - 1; i++) { 

     var imgWidth = imgs[i].clientWidth; 
     var imgHeight = imgs[i].clientHeight; 

     $('img').eq(i).attr({ 
      width: imgWidth, 
      height: imgHeight 
     }); 

     console.log(imgWidth); 
    } 

    console.log(imgLength); 

}); 

कोई विचार? धन्यवाद।

मैं clientwidth अपने फायरफॉक्स, क्रोम और ओपेरा के लिए ठीक काम करता है के साथ window.load साथ की कोशिश की लेकिन वह दूसरों

+0

यदि आप jquery pls का उपयोग कर रहे हैं तो आंतरिक वाईडथ() संपत्ति का उपयोग करें, इसके बाद क्लाइंट चौड़ाई –

+0

@Ajaybeniwal ~ इस विशेष उदाहरण में, नहीं, jQuery का उपयोग करना बेहतर नहीं है। यह jQuery कार्यों को कॉल करने के बजाय मूल गुणों का संदर्भ देने के लिए आमतौर पर तेज़ है, और ओपी के पास मूल जेएस डोम ऑब्जेक्ट पर एक हैंडल है; एक jQuery ऑब्जेक्ट में लपेटने की परेशानी क्यों होती है, और अतिरिक्त ओवरहेड लगती है? –

+0

मैंने हाल ही में एक समान प्रश्न पर उत्तर दिया है; आप [इसे पढ़ने के लिए भी] चाहते हैं [http://stackoverflow.com/a/11116604/304588)। एक ही समस्या की तरह लगता है। –

उत्तर

-5

मुझे नहीं लगता कि यह अगर आप ऊंचाई और चौड़ाई प्राप्त करने के लिए JQuery का उपयोग बेहतर होगा, के रूप में यह ठीक काम करता है

$(document).ready(function() { 


    var imgs = $('img'); 
    var imgLength = imgs.length; 

    for(var i=0; i<= imgLength-1;i++){ 

     var imgWidth = imgs[i].width(); 
     var imgHeight = imgs[i].height(); 

     $('img').eq(i).attr({width:imgWidth, height: imgHeight}); 

     console.log(imgWidth); 
    } 

    console.log(imgLength); 

}); 
-3

आप मार्जिन और सीमाओं सहित आयाम प्राप्त करना चाहते हैं JQuery कार्यों का उपयोग कर की कोशिश outerWidth और outerHeight -: सभी ब्राउज़रों में है, तो आपके कोड कुछ इस तरह होगा। उन्हें क्रॉसब्रोसर मतभेदों का ख्याल रखना चाहिए। http://api.jquery.com/outerwidth/

यदि आप तत्व तत्वों (मार्जिन, सीमाओं, पैडिंग के बिना) के केवल आयाम प्राप्त करना चाहते हैं तो width और height का उपयोग करें। http://api.jquery.com/width/

0

परिवर्तन कार्यप्रणाली का प्रयास करें।
http://forums.asp.net/post/1515655.aspx
मुझे यकीन नहीं है, लेकिन मैंने इस समस्या को हल किया है।

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