Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript उदाहरण - दिए गए अंतराल पर माउस पोजीशन कैप्चर करना

दिए गए अंतराल पर माउस पोजीशन कैप्चर करने का कोड नीचे दिया गया है।

उदाहरण

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8" /> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
  <title>माउस पोजीशन कैप्चर</title> 
  <style> 
    body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } 
    .result { font-size: 18px; font-weight: 500; color: blueviolet; } 
  </style> 
</head> 
<body> 
  <h1>हर दिए गए अंतराल पर माउस पोजीशन कैप्चर करें</h1> 
  <div class="result"></div> 
  <button class="Btn">यहां क्लिक करें</button> 
  <h3>ऊपर दिए गए बटन पर क्लिक करके हर 3 सेकंड में माउस पोजीशन कैप्चर करना शुरू करें</h3> 
  <script> 
    let resultEle = document.querySelector(".result"); 
    let check; 
    let xCoord, yCoord; 
    document.body.addEventListener("mousemove", function (event) { 
      xCoord = event.clientX; 
      yCoord = event.clientY; 
    }); 
    function displayCoordinate(element) { 
      resultEle.innerHTML = "X निर्देशांक = " + xCoord + "<br> Y निर्देशांक = " + yCoord; 
    } 
    document.querySelector(".Btn").addEventListener("click", () => { 
      setInterval(displayCoordinate, 3000); 
    }); 
  </script> 
</body> 
</html>

आउटपुट

JavaScript उदाहरण - दिए गए अंतराल पर माउस पोजीशन कैप्चर करना

"यहां क्लिक करें" बटन पर क्लिक करने पर माउस पोजीशन हर 3 सेकंड में कैप्चर होगी:

JavaScript उदाहरण - दिए गए अंतराल पर माउस पोजीशन कैप्चर करना

कैसे काम करता है:

  1. mousemove इवेंट - हर माउस मूवमेंट पर xCoord, yCoord अपडेट करता है
  2. setInterval - हर 3000ms (3 सेकंड) में displayCoordinate कॉल करता है
  3. clientX/clientY - व्यूपोर्ट के सापेक्ष माउस पोजीशन

सुधार के सुझाव:

  • रोकने का बटन - clearInterval के लिए स्टॉप बटन जोड़ें
  • pageX/pageY - डॉक्यूमेंट के सापेक्ष पोजीशन (स्क्रॉल सहित)
  • थ्रॉटलिंग - mousemove पर थ्रॉटल लगाकर प्रदर्शन सुधारें
  • रिलेटिव पोजीशन - किसी एलिमेंट के सापेक्ष पोजीशन के लिए getBoundingClientRect() उपयोग करें

बेहतर कार्यान्वयन:

let intervalId = null;
let coords = { x: 0, y: 0 };

document.addEventListener('mousemove', (e) => {
  coords.x = e.clientX;
  coords.y = e.clientY;
});

function startTracking() {
  if (intervalId) return; // पहले से चल रहा है
  intervalId = setInterval(() => {
    resultEle.innerHTML = `X: ${coords.x}, Y: ${coords.y}`;
  }, 3000);
}

function stopTracking() {
  clearInterval(intervalId);
  intervalId = null;
}

// एलिमेंट के सापेक्ष पोजीशन
function getRelativePos(element, event) {
  const rect = element.getBoundingClientRect();
  return {
    x: event.clientX - rect.left,
    y: event.clientY - rect.top
  };
}

उपयोग के मामले:

  • हीटमैप/एनालिटिक्स - यूजर माउस मूवमेंट ट्रैकिंग
  • गेम्स - माउस-आधारित कंट्रोल्स
  • टूलटिप्स/होवर इफेक्ट्स - डायनामिक पोजिशनिंग
  • एक्सेसिबिलिटी - माउस ट्रेल्स, मैग्निफायर
  1. उदाहरण के साथ जावास्क्रिप्ट में इनहेरिटेंस उदाहरण के साथ जावास्क्रिप्ट में इनहेरिटेंस

    जावास्क्रिप्ट एक ऑब्जेक्ट-आधारित भाषा है जो प्रोटोटाइप पर आधारित है। इनहेरिटेंस को जावास्क्रिप्ट में प्रोटोटाइप ऑब्जेक्ट का उपयोग करके लागू किया जाता है। जावास्क्रिप्ट में इनहेरिटेंस लागू करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=

  1. जावास्क्रिप्ट में for...in स्टेटमेंट समझाया गया जावास्क्रिप्ट में for...in स्टेटमेंट समझाया गया

    for...in लूप ऑब्जेक्ट की सभी प्रॉपर्टीज के माध्यम से लूप करता है। जावास्क्रिप्ट में for..in स्टेटमेंट को लागू करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0

  1. माउस क्लिक पर तुरंत इवेंट ट्रिगर करें, माउस छोड़ने के बाद नहीं - JavaScript? माउस क्लिक पर तुरंत इवेंट ट्रिगर करें, माउस छोड़ने के बाद नहीं - JavaScript?

    इसके लिए, addEventListener() का उपयोग mousedown इवेंट के साथ करें। उदाहरण निम्नलिखित कोड है: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <meta name=viewport content=width=device-width, initial-scale=1.0> <title>Document</title> &l