someElement.getBoundingClientRect()
का परिणाम देता है एक विशेष प्रकार ClientRect
(या DomRect
जाहिरा तौर पर)कैसे सबसे अच्छा एक सादे वस्तु में एक ClientRect/DomRect कन्वर्ट करने के लिए
यह {top: 10, right: 20, bottom: 30, left: 10, width: 10}
दुर्भाग्य से, इस वस्तु की तरह संरचित है की वस्तु अन्य वस्तुओं की तरह व्यवहार नहीं करता है।
उदाहरण के लिए, यह एक खाली सरणी रिटर्न पर Object.keys
का उपयोग कर (मुझे लगता है कि क्योंकि ClientRect
गुण नहीं हैं गणनीय
मैं एक गंदा रास्ते से कुछ एक सादे वस्तु में बदलने के लिए मिला:
var obj = {}
for (key in rect) {
obj[key] = rect[key]
}
मेरा सवाल है, क्या कोई बेहतर तरीका है?
यह _soooo_ hacky है, लेकिन 'Object.keys (document.body.getBoundingClientRect() .__ आद्य __)' क्रोम में काम करने लगता है। : पी –