আপনি 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"
getComputesStyle আপনাকে সেই উপাদানগুলির সমস্ত স্টাইল অ্যাক্সেস করতে দেয়। উদাহরণস্বরূপ: প্যাডিং, প্যাডিং লেফট, মার্জিন, বর্ডার-টপ-বাম-ব্যাসার্ধ এবং আরও কিছু।
ক্লাসনেম ব্যবহার করে আপনি ডিওএমও অনুসন্ধান করতে পারেন। উদাহরণ স্বরূপ:
document.getElementsByClassName("myDiv")
এটি একটি অ্যারে ফিরিয়ে দেবে। যদি কোনও নির্দিষ্ট সম্পত্তি আপনার আগ্রহী থাকে তবে উদাহরণস্বরূপ:
var divWidth = document.getElementsByClassName("myDiv")[0].clientWidth;
divWidth আপনার ডিভ অ্যারেতে প্রথম উপাদানটির প্রস্থের সমান হবে।
আর একটি বিকল্প হ'ল getBoundingClientRect ফাংশনটি ব্যবহার করা। অনুগ্রহ করে নোট করুন যে উপাদানটির প্রদর্শন 'কিছুই না' হলে getBoundingClientRect একটি খালি রেকট ফিরে আসবে।
var elem = document.getElementById("myDiv");
if(elem) {
var rect = elem.getBoundingClientRect();
console.log(rect.width);
}
ডিভ বা বডি ট্যাগ নেভিগেশন পদ্ধতিতে কল করুন অনক্লিক = "শো (ইভেন্ট);" ফাংশন শো (ইভেন্ট) {
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প্রস্থ এবং উচ্চতার জন্য মানগুলি পেতে পারেন কারণ সম্পূর্ণ লোড সঞ্চালিত না হওয়া পর্যন্ত ব্রাউজারগুলি রেন্ডার করে না।