आप jQuery जैसी लाइब्रेरी का उपयोग किए बिना<div>
क्रॉस-ब्राउज़र संगत तरीके से वर्तमान की चौड़ाई कैसे पा सकते हैं ?
आप jQuery जैसी लाइब्रेरी का उपयोग किए बिना<div>
क्रॉस-ब्राउज़र संगत तरीके से वर्तमान की चौड़ाई कैसे पा सकते हैं ?
जवाबों:
document.getElementById("mydiv").offsetWidth
cientWidth
, मैं असली अंतर नहीं जानता।
offsetWidth
सीमा चौड़ाई शामिल है, clientWidth
नहीं।
display: none
या दस्तावेज़ का हिस्सा नहीं है, तो इसमें हमेशा शून्य ऑफ़सेट ऊँचाई होगी।
आप मोज़िला डेवलपर नेटवर्क संदर्भ का उपयोग clientWidth
या उपयोग कर सकते हैंoffsetWidth
यह इस तरह होगा:
document.getElementById("yourDiv").clientWidth; // returns number, like 728
या सीमाओं की चौड़ाई के साथ:
document.getElementById("yourDiv").offsetWidth; // 728 + borders width
सभी उत्तर सही हैं, लेकिन मैं अभी भी कुछ अन्य विकल्प देना चाहता हूं जो काम कर सकते हैं।
यदि आप निर्धारित चौड़ाई (पैडिंग, मार्जिन और इतने पर ध्यान न देते हुए) की तलाश कर रहे हैं, तो आप उपयोग कर सकते हैं।
getComputedStyle(element).width; //returns value in px like "727.7px"
getComputedStyle आपको उस तत्वों की सभी शैलियों का उपयोग करने की अनुमति देता है। उदाहरण के लिए: पेडिंग, पेडिंग लिफ़्ट, मार्जिन, बॉर्डर-टॉप-लेफ्ट-रेडियस और इसी तरह।
आप ClassName का उपयोग करके DOM भी खोज सकते हैं। उदाहरण के लिए:
document.getElementsByClassName("myDiv")
यह एक सरणी लौटाएगा। यदि कोई विशेष संपत्ति है जिसमें आप रुचि रखते हैं। उदाहरण के लिए:
var divWidth = document.getElementsByClassName("myDiv")[0].clientWidth;
divWidth
अब आपके div सरणी में पहले तत्व की चौड़ाई के बराबर होगा।
एक अन्य विकल्प getBoundingClientRect फ़ंक्शन का उपयोग करना है। कृपया ध्यान दें कि getBoundingClientRect तत्व की डिस्प्ले 'कोई नहीं' होने पर एक खाली आयत लौटाएगा।
var elem = document.getElementById("myDiv");
if(elem) {
var rect = elem.getBoundingClientRect();
console.log(rect.width);
}
div या बॉडी टैग onclick = "शो (इवेंट);" फंक्शन शो (इवेंट) {
var x = event.clientX;
var y = event.clientY;
var ele = document.getElementById("tt");
var width = ele.offsetWidth;
var height = ele.offsetHeight;
var half=(width/2);
if(x>half)
{
// alert('right click');
gallery.next();
}
else
{
// alert('left click');
gallery.prev();
}
}
गणना की गई शैली का सही तरीका पेज के प्रस्तुत होने तक प्रतीक्षा कर रहा है। इसे निम्नलिखित तरीके से किया जा सकता है। auto
मूल्यों को प्राप्त करने पर ध्यान दें ।
function getStyleInfo() {
setTimeout(function() {
const style = window.getComputedStyle(document.getElementById('__root__'));
if (style.height == 'auto') {
getStyleInfo();
}
// IF we got here we can do actual business logic staff
console.log(style.height, style.width);
}, 100);
};
window.onload=function() { getStyleInfo(); };
अगर आप सिर्फ इस्तेमाल करते हैं
window.onload=function() {
var computedStyle = window.getComputedStyle(document.getElementById('__root__'));
}
आप auto
चौड़ाई और ऊंचाई के लिए मान प्राप्त कर सकते हैं क्योंकि ब्राउज़र पूर्ण लोड के प्रदर्शन तक प्रस्तुत नहीं करता है।