2015-05-22 5 views
6

पर स्टाइलशीट जोड़ने के बाद जावास्क्रिप्ट जारी नहीं रहता है यदि डिवाइस की विशेष चौड़ाई है तो मैं एक div कंटेनर प्रदर्शित करना चाहता हूं। मैंने एक साधारण शर्त बना दी और यह अच्छी तरह से काम कर रहा है।कक्षा

मैं अपने कोड में दूसरा फ़ंक्शन जोड़ना चाहता था और फ़ंक्शन नहीं कहा गया था। कोशिश करने के बाद मैंने देखा कि कोड दस्तावेज़ के बाद बंद हो जाता है .getElementyById-Code।

अगर चेतावनी ("हैलो वर्ल्ड") को में से पहले getElementById कहा जाता है, तो इसे कहा जाता है। अगर इसे के बाद ifelementById के बाद में कहा जाता है, तो इसे अब नहीं कहा जाता है।

प्रगति क्यों अटक गई है?

कंसोल आउटपुट: [त्रुटि] लेखन त्रुटि: अशक्त एक वस्तु ('। Document.getElementById ("whitecontainer") शैली' का मूल्यांकन) setHeightandWidth (-लिंक deleted-, लाइन 402) onresize नहीं है (-लिंक हटाया गया-, लाइन 382)

लेकिन ऑब्जेक्ट शून्य नहीं हो सकता है, क्योंकि स्टाइल चेंज काम करता है, यह आकार बदलने के बाद बस अटक गया है।

मदद के लिए धन्यवाद!

function setHeightandWidth() { 
    var body = document.body, 
     html = document.documentElement; 

    var height = (Math.max(body.scrollHeight, body.offsetHeight, 
          html.clientHeight, html.scrollHeight, html.offsetHeight) - 75 - 248); 

    var width = document.body.clientWidth; 

    if (width < 1199) { 
     document.getElementById("whitecontainer").style.display = "none"; 

     alert("Hello World!"); 

    } 

    if (width >= 1199) { 
     width = 1140; 
     document.getElementById("whitecontainer").style.display = "inherit"; 
    } 

    var white_container = document.getElementById("whitecontainer"); 
    white_container.style.height = height + "px"; 
    white_container.style.width = width + "px"; 

} 
+2

क्या आप हमें प्रासंगिक HTML दिखा सकते हैं? – steve

+1

क्या आप अधिक सटीक हो सकते हैं, कौन सा हिस्सा काम नहीं कर रहा है? – Zee

+1

इस तरह का कोड हैलो वर्ल्ड प्रदर्शित नहीं कर रहा है। अगर मैं दस्तावेज़ के ऊपर अलर्ट ("हैलो वर्ल्ड!") डालता हूं .getElementById, यह हैलो वर्ल्ड प्रदर्शित करता है। – Skalibran

उत्तर

1

चेतावनी काम नहीं कर रहा है इसका मतलब है कि इससे पहले की रेखा में त्रुटि हुई थी।

लाइनों

white_container.style.height = height + "px"; 
white_container.style.width = width + "px"; 

चला सकता हूँ?

मुझे लगता है कि जब भी आप दस्तावेज़ का उपयोग करते हैं तो आपका कोड विफल रहता है। XXXXXX

'whitecontainer' शायद कोई वास्तविक तत्व

+1

हां, यह आखिरी चीज है जो काम कर रही है। उसके बाद कोड फंस गया है, इसलिए मैं अपने जावास्क्रिप्ट का उपयोग करके और कुछ भी बदलने में सक्षम नहीं हूं। – Skalibran

+0

प्रतीक्षा करें आपका मतलब है कि white_container.style.height = height + "px"; white_container.style.width = चौड़ाई + "पीएक्स"; दौड रहा है? – steve

+0

बिल्कुल। कंसोल वैसे भी whitecontainer के लिए एक शून्य अपवाद फेंकता है। संपादित करें: नहीं, यह नहीं है। मैंने अभी इसे फिर से जांच लिया है और अब यह अब काम नहीं कर रहा है, लेकिन आपके द्वारा उल्लिखित कोड बिना किसी समस्या के चलने चाहिए। मैं इसे कुछ परियोजनाओं में उपयोग करता हूं। – Skalibran

1

समस्या नहीं है इस लाइन

document.getElementById ("whitecontainer") में है। Style.display

जावास्क्रिप्ट आईडी खोजने में असमर्थ है " whitecontainer "tat's क्यों यह एक शून्य अपवाद और स्क्रिप्ट ब्रेक फेंकता है

+0

बिल्कुल इस तरह लगता है, लेकिन ऊपर वर्णित कोड काम कर रहा है। – Skalibran