జావాస్క్రిప్ట్లో స్కేలింగ్తో డ్రాగ్ అండ్ డ్రాప్ని నిర్వహించడం
మృదువైన మరియు ప్రతిస్పందించే డ్రాగ్-అండ్-డ్రాప్ అనుభవాన్ని నిర్మించడం సవాలుగా ఉంటుంది, ప్రత్యేకించి స్కేలింగ్ వంటి మార్పులు ఉన్నప్పుడు. మీరు ఉపయోగిస్తుంటే రూపాంతరం: అనువదించు() మూలకాలను తరలించడానికి ప్రాపర్టీ, మూలకానికి స్కేల్ జోడించడం దాని పరిమాణం మరియు స్థానంపై ప్రభావం చూపుతుంది, దీని వలన గణనలు విచ్ఛిన్నమవుతాయి.
ఈ దృష్టాంతంలో, మౌస్ కదలిక కోఆర్డినేట్లను ఉపయోగించి స్థానాన్ని సర్దుబాటు చేయడం ఆశించిన ఫలితాన్ని ఇవ్వదు, ఎందుకంటే స్కేల్ చేయబడిన మూలకం దాని అసలు పరిమాణంలో కదలదు. ఇది లెక్కించేటప్పుడు సమస్యలను కలిగిస్తుంది మూలకం యొక్క సరైన స్థానం డ్రాగ్ సమయంలో.
మీరు కస్టమ్ డ్రాగ్ అండ్ డ్రాప్ లైబ్రరీని నిర్మిస్తున్నా లేదా మీ ప్రాజెక్ట్లో ఈ ఫంక్షనాలిటీని ఇంటిగ్రేట్ చేస్తున్నా, స్కేలింగ్ వర్తించినప్పుడు పొజిషన్లను ఎలా సరిగ్గా గణించాలో అర్థం చేసుకోవడం చాలా కీలకం. ఖచ్చితమైన ఎలిమెంట్ ప్లేస్మెంట్ను నిర్ధారించడానికి మీరు మీ కోడ్ని స్కేల్ విలువకు కారకంగా సర్దుబాటు చేయాలి.
డ్రాగ్ చేస్తున్నప్పుడు మూలకం యొక్క సరైన స్థానాన్ని ఎలా లెక్కించాలో ఈ కథనం వివరిస్తుంది అనువదించు జావాస్క్రిప్ట్లో పద్ధతి, స్కేలింగ్ వర్తించబడుతుంది. మీరు ఎలిమెంట్ స్కేల్ కోసం సర్దుబాటు చేయాల్సిన దశలు మరియు ఫార్ములాలను కూడా మేము పరిశీలిస్తాము మరియు మృదువైన డ్రాగ్ పనితీరును నిర్ధారిస్తాము.
ఆదేశం | ఉపయోగం యొక్క ఉదాహరణ |
---|---|
getBoundingClientRect() | ఈ పద్ధతి వీక్షణపోర్ట్కు సంబంధించి మూలకం యొక్క పరిమాణం మరియు స్థానాన్ని అందిస్తుంది. డ్రాగ్ చేయబడిన మూలకం యొక్క ఖచ్చితమైన కోఆర్డినేట్లను పొందడానికి ఇది ఉపయోగించబడుతుంది, ప్రత్యేకించి స్కేల్ ట్రాన్స్ఫార్మేషన్లు వర్తించినప్పుడు. |
addEventListener('pointerdown') | ఒక మూలకానికి నిర్దిష్ట ఈవెంట్ హ్యాండ్లర్ని జత చేస్తుంది. ఈ సందర్భంలో, ఎలిమెంట్ను క్లిక్ చేయడం లేదా తాకడం ద్వారా వినియోగదారు డ్రాగ్ను ప్రారంభించినప్పుడు గుర్తించడానికి ఇది ఉపయోగించబడుతుంది. |
setProperty() | CSS వేరియబుల్స్ని డైనమిక్గా అప్డేట్ చేయడానికి ఈ పద్ధతి ఉపయోగించబడుతుంది. ఉదాహరణలో, ఇది స్కేల్ ఆధారంగా డ్రాగ్ పొజిషన్ను అప్డేట్ చేయడానికి అనుకూల లక్షణాలను సర్దుబాటు చేస్తుంది --x మరియు --y. |
removeEventListener() | ఈ పద్ధతి గతంలో జోడించిన ఈవెంట్ శ్రోతలను తొలగిస్తుంది. డ్రాగ్ ముగిసిన తర్వాత శుభ్రపరచడం, మెమరీ లీక్లను నిరోధించడానికి పాయింటర్మోవ్ మరియు పాయింటర్అప్ శ్రోతలను తొలగించడం చాలా అవసరం. |
clientX / clientY | ఈ లక్షణాలు వ్యూపోర్ట్కు సంబంధించి మౌస్ పాయింటర్ యొక్క X మరియు Y కోఆర్డినేట్లను తిరిగి అందిస్తాయి. డ్రాగ్ ఆపరేషన్ సమయంలో కర్సర్ స్థానాన్ని ట్రాక్ చేయడం కోసం అవి కీలకం. |
scale() | ఇది CSS ట్రాన్స్ఫార్మ్ ఫంక్షన్లో భాగం. ఇది ట్రాగ్ సమయంలో సరైన స్కేలింగ్ని నిర్ధారిస్తూ, ట్రాన్స్లేట్ చెక్కుచెదరకుండా ఇతర ట్రాన్స్ఫార్మ్ లక్షణాలను ఉంచుతూ డ్రాగ్ చేయబడిన మూలకం యొక్క పరిమాణాన్ని సర్దుబాటు చేస్తుంది. |
console.assert() | స్క్రిప్ట్లో యూనిట్ పరీక్షను నిర్వహించడానికి ఈ పద్ధతి ఉపయోగించబడుతుంది. స్కేలింగ్తో డ్రాగ్ ఈవెంట్ తర్వాత అనువదించబడిన స్థానం సరిగ్గా గణించబడిందో లేదో తనిఖీ చేయడం వంటి నిర్దిష్ట షరతులు నెరవేరాయో లేదో ఇది ధృవీకరిస్తుంది. |
transform | ఈ CSS లక్షణం ఒక మూలకానికి బహుళ పరివర్తన ఫంక్షన్లను (అనువాదం మరియు స్కేల్ వంటివి) వర్తింపజేస్తుంది. ఇది లాగడం మరియు స్కేలింగ్ సమయంలో మూలకం యొక్క దృశ్య స్థానం మరియు పరిమాణాన్ని నవీకరించడానికి ఉపయోగించబడుతుంది. |
ట్రాన్స్లేట్ మరియు స్కేల్తో ఎలిమెంట్ పొజిషన్ను ఎలా హ్యాండిల్ చేయాలో అర్థం చేసుకోవడం
సమర్పించబడిన స్క్రిప్ట్లు ఉపయోగించినప్పుడు డ్రాగ్-అండ్-డ్రాప్ కార్యాచరణలో ఒక సాధారణ సమస్యను పరిష్కరించడం లక్ష్యంగా పెట్టుకున్నాయి అనువదించు జావాస్క్రిప్ట్లోని పద్ధతి, ప్రత్యేకించి మూలకం స్కేలింగ్ పరివర్తనను వర్తింపజేసినప్పుడు. మొదటి స్క్రిప్ట్ వినియోగదారు యొక్క డ్రాగ్ పరస్పర చర్యలను ట్రాక్ చేయడానికి పాయింటర్ ఈవెంట్లను వింటుంది. ఉపయోగించడం ద్వారా getBoundingClientRect() పద్ధతి, ఇది స్క్రీన్పై మూలకం యొక్క ప్రారంభ స్థానాన్ని గణిస్తుంది. వీక్షణపోర్ట్కు సంబంధించి మూలకం ఎక్కడ ఉంచబడిందో నిర్ణయించడానికి ఇది చాలా అవసరం, ప్రత్యేకించి స్కేల్ 1 కానప్పుడు, మూలకం దాని అసలు పరిమాణానికి భిన్నంగా ప్రవర్తించేలా చేస్తుంది.
కోర్ ఫంక్షనాలిటీ లోపల నిర్వహించబడుతుంది డ్రాగ్ ఎలిమెంట్ ఫంక్షన్, ఇది కదలిక డెల్టాను గణిస్తుంది. మూలకం విస్తరించబడినప్పుడు లేదా కుంచించుకుపోయినప్పటికీ దూరం ఖచ్చితంగా మ్యాప్ చేయబడిందని నిర్ధారించడానికి పాయింటర్ యొక్క కదలికను స్కేల్ ఫ్యాక్టర్ ద్వారా విభజించడం ద్వారా డ్రాగ్ మోషన్ సర్దుబాటు చేయబడుతుంది. ఈ పద్ధతి డ్రాగ్ ఆపరేషన్ల సమయంలో మూలకం "జంపింగ్" నుండి లేదా తప్పుగా ఉంచబడకుండా నిరోధించడంలో సహాయపడుతుంది. ట్రాన్స్లేట్ మరియు స్కేల్ ఫంక్షన్లు రెండింటినీ ఉపయోగించి, ట్రాన్స్ఫార్మ్ ప్రాపర్టీ ద్వారా స్క్రిప్ట్ ఈ సర్దుబాట్లను వర్తింపజేస్తుంది. రూపాంతరం చెందిన పరిమాణాన్ని కొనసాగించేటప్పుడు మూలకం ద్రవంగా కదులుతుందని ఇది నిర్ధారిస్తుంది.
స్క్రిప్ట్లో ప్రస్తావించబడిన అదనపు సవాలు ఏమిటంటే, డ్రాగ్ ఈవెంట్ సరిగ్గా శుభ్రం చేయబడిందని నిర్ధారించడం. డ్రాగ్ చర్య పూర్తయిన తర్వాత, ఈవెంట్ శ్రోతలు ఉపయోగించి తీసివేయబడతారు తొలగించుEventListener మెమరీ లీక్లు మరియు అనాలోచిత ప్రవర్తనను నివారించడానికి. స్క్రిప్ట్ అవసరమైనప్పుడు మాత్రమే స్పందిస్తుందని ఇది హామీ ఇస్తుంది, మెరుగైన పనితీరు మరియు వినియోగాన్ని అందిస్తుంది. ఇంకా, యొక్క ఉపయోగం సెట్ ప్రాపర్టీ() పద్ధతి CSS వేరియబుల్స్కు డైనమిక్ సర్దుబాట్లను అనుమతిస్తుంది, జావాస్క్రిప్ట్లో హార్డ్కోడింగ్ విలువలు లేకుండా డ్రాగ్ ఇంటరాక్షన్లను ఎలా స్టైల్ చేయవచ్చు లేదా అనుకూలీకరించవచ్చు అనే దానిలో సౌలభ్యాన్ని మెరుగుపరుస్తుంది.
ప్రత్యామ్నాయ పరిష్కారంలో, యూనిట్ పరీక్షల ఉపయోగం console.assert() అమలుకు ధృవీకరణ యొక్క అదనపు పొరను జోడిస్తుంది. గణనలు ఊహించిన విధంగా పని చేస్తున్నాయని నిర్ధారించడానికి ఇది సహాయపడుతుంది, ముఖ్యంగా స్కేల్ చేయబడిన పరిసరాలలో. ముందే నిర్వచించిన పరిస్థితులకు వ్యతిరేకంగా డ్రాగ్ ఆపరేషన్ ఫలితాన్ని పరీక్షించడం ద్వారా, స్క్రిప్ట్ నాన్-యూనిఫాం స్కేలింగ్ లేదా విభిన్న ప్రీసెట్ ఆఫ్సెట్ల వంటి ఎడ్జ్ కేసులను నిర్వహిస్తుందని నిర్ధారిస్తుంది. ఈ విధానం డ్రాగ్-అండ్-డ్రాప్ ఫంక్షనాలిటీ యొక్క పటిష్టతను మెరుగుపరచడమే కాకుండా కోడ్ను మరింత మాడ్యులర్గా మరియు వివిధ సందర్భాలలో పునర్వినియోగపరచదగినదిగా చేస్తుంది.
జావాస్క్రిప్ట్తో డ్రాగ్ మరియు స్కేల్ సమయంలో ఎలిమెంట్ పొజిషన్ను నిర్వహించడం
ఈ పరిష్కారం డ్రాగ్-అండ్-డ్రాప్ హ్యాండ్లింగ్ కోసం స్వచ్ఛమైన జావాస్క్రిప్ట్ను ఉపయోగిస్తుంది, ట్రాన్స్ఫార్మ్ మరియు ట్రాన్స్లేట్ ప్రాపర్టీలను ఉపయోగించి ఎలిమెంట్ను స్కేలింగ్ చేసేటప్పుడు పొజిషన్లను గణిస్తుంది.
let startX, startY, initialX, initialY, scale = 1;
const draggable = document.getElementById('draggable');
draggable.addEventListener('pointerdown', startDrag);
function startDrag(e) {
startX = e.clientX;
startY = e.clientY;
const rect = draggable.getBoundingClientRect();
initialX = rect.left;
initialY = rect.top;
document.addEventListener('pointermove', dragElement);
document.addEventListener('pointerup', stopDrag);
}
function dragElement(e) {
const deltaX = (e.clientX - startX) / scale;
const deltaY = (e.clientY - startY) / scale;
draggable.style.transform = `translate(${initialX + deltaX}px, ${initialY + deltaY}px) scale(${scale})`;
}
function stopDrag() {
document.removeEventListener('pointermove', dragElement);
document.removeEventListener('pointerup', stopDrag);
}
ఎలిమెంట్ స్కేలింగ్ కోసం CSS మరియు జావాస్క్రిప్ట్ ఉపయోగించి ప్రత్యామ్నాయ పరిష్కారం
ఈ ప్రత్యామ్నాయ విధానం జావాస్క్రిప్ట్తో కలిపి CSS వేరియబుల్స్ని ఉపయోగించుకుని మూలకం స్కేల్ చేయబడినప్పుడు దాని స్థానాన్ని డైనమిక్గా సర్దుబాటు చేస్తుంది.
let startX, startY, initialX, initialY, scale = 1;
const draggable = document.getElementById('draggable');
draggable.addEventListener('pointerdown', startDrag);
function startDrag(e) {
startX = e.clientX;
startY = e.clientY;
const rect = draggable.getBoundingClientRect();
initialX = rect.left / scale;
initialY = rect.top / scale;
document.addEventListener('pointermove', dragElement);
document.addEventListener('pointerup', stopDrag);
}
function dragElement(e) {
const deltaX = (e.clientX - startX) / scale;
const deltaY = (e.clientY - startY) / scale;
draggable.style.setProperty('--x', initialX + deltaX + 'px');
draggable.style.setProperty('--y', initialY + deltaY + 'px');
}
function stopDrag() {
document.removeEventListener('pointermove', dragElement);
document.removeEventListener('pointerup', stopDrag);
}
డ్రాగ్ మరియు స్కేల్ ఫంక్షనాలిటీని ధృవీకరించడానికి యూనిట్ పరీక్షలు
డ్రాగ్-అండ్-డ్రాప్ ఫంక్షనాలిటీ స్కేల్ చేయబడిన మూలకాలతో సరిగ్గా పనిచేస్తుందని ధృవీకరించడానికి ఈ విభాగం JavaScriptను ఉపయోగించి యూనిట్ పరీక్షలను అందిస్తుంది.
function testDragWithScale() {
const element = document.createElement('div');
element.style.width = '100px';
element.style.height = '100px';
element.style.transform = 'scale(2)';
document.body.appendChild(element);
startDrag({clientX: 100, clientY: 100});
dragElement({clientX: 200, clientY: 200});
const computedTransform = getComputedStyle(element).transform;
console.assert(computedTransform.includes('translate(50px, 50px)'), 'Position adjusted correctly with scale');
}
testDragWithScale();
డ్రాగ్-అండ్-డ్రాప్ ఫంక్షనాలిటీలో ఎలిమెంట్ స్కేలింగ్ను నిర్వహించడం
బలమైన డ్రాగ్-అండ్-డ్రాప్ ఇంటర్ఫేస్ను అభివృద్ధి చేయడానికి వచ్చినప్పుడు, స్కేలింగ్ వంటి పరివర్తనలను ఎలా నిర్వహించాలో అర్థం చేసుకోవడం చాలా కీలకం. సాధారణంగా, ఒక మూలకాన్ని ఉపయోగించి లాగినప్పుడు అనువదించు జావాస్క్రిప్ట్లో ఫంక్షన్, ఇది మౌస్ కోఆర్డినేట్ల ఆధారంగా తరలించబడుతుంది. అయితే, మూలకం ఉపయోగించి స్కేల్ చేయబడినప్పుడు రూపాంతరం: స్థాయి() ఆస్తి, దాని పరిమాణం మరియు కదలిక అసలు కొలతలకు సంబంధించి మార్పు. స్కేలింగ్ కారకం కోసం స్థానం సర్దుబాటు చేయబడిందని నిర్ధారించడం సరైన స్థానాన్ని లెక్కించడంలో కీలకం. స్కేల్ను విస్మరించడం తప్పు స్థానాలు మరియు అస్థిర ప్రవర్తనకు దారి తీస్తుంది.
స్కేలింగ్ను సరిగ్గా నిర్వహించడానికి, మీరు మూలకం కదిలే దూరాన్ని స్కేల్ విలువతో విభజించాలి. మూలకం దాని పరిమాణం పెరిగినా లేదా తగ్గించబడినా కూడా కర్సర్తో దామాషా ప్రకారం కదులుతుందని ఇది నిర్ధారిస్తుంది. ఉపయోగించి getBoundingClientRect() మూలకం యొక్క ప్రస్తుత కొలతలు కొలవడానికి మరియు వీక్షణపోర్ట్ స్థానం ఆధారంగా ఆఫ్సెట్లను లెక్కించడంలో మీకు సహాయపడుతుంది. లాగేటప్పుడు మూలకాన్ని ఖచ్చితంగా ఉంచడానికి ఈ ఆఫ్సెట్లు కీలకం. అంతేకాకుండా, స్కేల్కు సంబంధించి మూవ్మెంట్ డెల్టాలను సర్దుబాటు చేయడం ద్వారా, కర్సర్కు సంబంధించి మూలకం చాలా వేగంగా లేదా నెమ్మదిగా కదలడం వంటి సమస్యలను మీరు నివారించవచ్చు.
అదనంగా, డ్రాగ్-అండ్-డ్రాప్ ఫంక్షనాలిటీని మాడ్యులరైజ్ చేయడం వివిధ సందర్భాలలో పునర్వినియోగాన్ని అనుమతిస్తుంది. ఈ మాడ్యులర్ విధానాన్ని బహుళ అంశాలు, విభిన్న ప్రమాణాలు మరియు వినియోగదారు నిర్వచించిన ఆఫ్సెట్లను నిర్వహించడానికి విస్తరించవచ్చు. వంటి ఈవెంట్ శ్రోతల ఉపయోగం addEventListener() మౌస్, టచ్ లేదా పెన్ వంటి విభిన్న ఇన్పుట్ రకాల్లో డ్రాగ్ ప్రవర్తన స్థిరంగా ఉందని నిర్ధారిస్తుంది. స్కేలింగ్ మరియు పొజిషనింగ్ రెండింటినీ ఖచ్చితత్వంతో నిర్వహించడం ద్వారా, మూలకం ఎలా రూపాంతరం చెందిందనే దానితో సంబంధం లేకుండా మీ డ్రాగ్-అండ్-డ్రాప్ ఇంటర్ఫేస్ సహజంగా మరియు మృదువుగా ఉండేలా మీరు నిర్ధారిస్తారు.
స్కేలింగ్ మరియు డ్రాగ్ అండ్ డ్రాప్పై సాధారణ ప్రశ్నలు
- స్కేలింగ్ డ్రాగ్ అండ్ డ్రాప్ పొజిషనింగ్ను ఎలా ప్రభావితం చేస్తుంది?
- స్కేలింగ్ మూలకం యొక్క పరిమాణాన్ని మారుస్తుంది, కాబట్టి సరైన స్థానాలను నిర్వహించడానికి, మీరు స్కేల్ ఫ్యాక్టర్ ద్వారా అనువాదాన్ని విభజించడం ద్వారా కదలికను సర్దుబాటు చేయాలి. ఇది మూలకం కర్సర్తో సరిగ్గా కదులుతుందని నిర్ధారిస్తుంది.
- ఎలాంటి పాత్ర చేస్తుంది getBoundingClientRect() ఇందులో ఆడాలా?
- getBoundingClientRect() వీక్షణపోర్ట్కు సంబంధించి మూలకం యొక్క ప్రస్తుత కొలతలు మరియు స్థానాన్ని అందిస్తుంది, ఇది ఖచ్చితమైన కదలిక మరియు ఆఫ్సెట్లను లెక్కించడంలో మీకు సహాయపడుతుంది.
- మూలకాన్ని లాగేటప్పుడు నేను వివిధ స్థాయి విలువలను ఎలా లెక్కించగలను?
- కదలిక దూరాన్ని స్కేల్ ద్వారా విభజించడం ద్వారా, మూలకం యొక్క కదలిక దాని పరిమాణానికి అనులోమానుపాతంలో ఉండేలా మీరు నిర్ధారించుకోవచ్చు. మీరు కూడా ఉపయోగించవచ్చు setProperty() స్కేల్ విలువ ఆధారంగా CSS వేరియబుల్స్ను డైనమిక్గా అప్డేట్ చేయడానికి.
- నేను ఇతర అంశాల కోసం ఈ కార్యాచరణను మళ్లీ ఉపయోగించవచ్చా?
- అవును, మాడ్యులర్ కోడ్ని వ్రాయడం ద్వారా మరియు పునర్వినియోగ ఫంక్షన్లలో డ్రాగ్-అండ్-డ్రాప్ లాజిక్ను ఎన్క్యాప్సులేట్ చేయడం ద్వారా, మీరు వాటి స్కేల్ లేదా ట్రాన్స్ఫర్మేషన్ లక్షణాలతో సంబంధం లేకుండా బహుళ మూలకాలకు ఒకే కార్యాచరణను వర్తింపజేయవచ్చు.
- నేను ఎందుకు ఉపయోగించాలి removeEventListener() ముగుస్తుంది లాగిన తర్వాత?
- ఉపయోగించి removeEventListener() మెమరీ లీక్లను నిరోధిస్తుంది మరియు వినియోగదారు ఎలిమెంట్ను విడుదల చేసినప్పుడు డ్రాగ్ చర్య ఆగిపోతుందని నిర్ధారిస్తుంది. ఇది పనితీరును మెరుగుపరుస్తుంది మరియు ఈవెంట్ శ్రోతలు అనవసరంగా యాక్టివ్గా లేరని నిర్ధారిస్తుంది.
స్కేలింగ్తో డ్రాగ్ని నిర్వహించడంపై తుది ఆలోచనలు
డ్రాగ్ చేయగల మూలకాలు స్కేల్ చేయబడిన ప్రాజెక్ట్లలో, సరైన స్థానాన్ని లెక్కించడం సంక్లిష్టంగా మారుతుంది. స్కేల్ మరియు ప్రారంభ స్థానం రెండింటికీ సర్దుబాటు చేయడానికి కదలిక అక్షాంశాలను స్కేల్ ఫ్యాక్టర్ ద్వారా విభజించడం, ఖచ్చితమైన కదలికను నిర్ధారించడం అవసరం.
కోఆర్డినేట్లను సర్దుబాటు చేయడం మరియు సరిహద్దు దీర్ఘచతురస్ర గణనలను ఉపయోగించడం వంటి డైనమిక్ పద్ధతులను చేర్చడం ద్వారా, మీరు అతుకులు లేని డ్రాగ్-అండ్-డ్రాప్ అనుభవాన్ని పొందవచ్చు. వివిధ స్కేల్ విలువలలో ఈ విధానాన్ని వర్తింపజేయడం వలన సున్నితమైన పరస్పర చర్యను నిర్వహించడంలో సహాయపడుతుంది మరియు వినియోగదారు ఇంటర్ఫేస్ అనుగుణ్యతను మెరుగుపరుస్తుంది.
స్కేలింగ్తో డ్రాగ్-అండ్-డ్రాప్ కోసం మూలాలు మరియు సూచనలు
- ఈ కథనం యొక్క కంటెంట్ జావాస్క్రిప్ట్ డ్రాగ్-అండ్-డ్రాప్ లైబ్రరీపై ఆధారపడి ఉంటుంది అనువదించు ఫంక్షన్ మరియు స్థాయి ఆస్తి. ఆచరణాత్మక అమలు కోసం, అందుబాటులో ఉన్న కోడ్ ఉదాహరణను చూడండి కోడ్శాండ్బాక్స్ .
- మోజిల్లా డెవలపర్ నెట్వర్క్ (MDN) డాక్యుమెంటేషన్ నుండి అదనపు డ్రాగ్-అండ్-డ్రాప్ ఫంక్షనాలిటీ మరియు ఈవెంట్ హ్యాండ్లింగ్ సూచించబడ్డాయి. గురించి మరిన్ని వివరాలు getBoundingClientRect() ఇక్కడ చూడవచ్చు.
- జావాస్క్రిప్ట్లో అధునాతన స్కేలింగ్ మరియు ట్రాన్స్ఫర్మేషన్ టెక్నిక్లను బాగా అర్థం చేసుకోవడానికి, ఈ ట్యుటోరియల్ని చూడండి CSS రూపాంతరాలు W3Schools అందించింది.