माउस निर्देशांक पुनर्प्राप्त करने के लिए JQuery का उपयोग करने के कई उदाहरण हैं, लेकिन कोई भी मेरी समस्या को ठीक नहीं करता है।
मेरे वेबपृष्ठ का बॉडी 1000 पिक्सल चौड़ा है, और मैं इसे उपयोगकर्ता की ब्राउज़र विंडो के बीच में केंद्रित करता हूं।
body {
position:absolute;
width:1000px;
left: 50%;
margin-left:-500px;
}
अब, मेरे जावास्क्रिप्ट कोड में, जब उपयोगकर्ता मेरे पृष्ठ पर राइट-क्लिक किया गया, तो मैं माउस की स्थिति में एक div प्रकट करना चाहता था।
समस्या है, बस का उपयोग कर e.pageX मान बिल्कुल सही नहीं था। अगर मैं अपनी ब्राउज़र विंडो का आकार बदलकर लगभग 1000 पिक्सल चौड़ा हो तो यह ठीक काम करेगा। फिर, पॉप div सही स्थिति पर दिखाई देगा।
लेकिन अगर मेरी ब्राउज़र विंडो के आकार में 1200 पिक्सेल चौड़े, तो कहें तो div 100 पिक्सल दाएं पर दिखाई देगा जहां उपयोगकर्ता ने क्लिक किया था।
समाधान शरीर तत्व के बाध्य आयत के साथ e.pageX को गठबंधन करना है। उपयोगकर्ता अपने ब्राउज़र विंडो के आकार बदलता है, "छोड़ दिया" शरीर तत्व परिवर्तन के मूल्य, और हम इसे ध्यान में की जरूरत है:
// Temporary variables to hold the mouse x and y position
var tempX = 0;
var tempY = 0;
jQuery(document).ready(function() {
$(document).mousemove(function (e) {
var bodyOffsets = document.body.getBoundingClientRect();
tempX = e.pageX - bodyOffsets.left;
tempY = e.pageY;
});
})
ओह। मुझे ठीक करने में थोड़ी देर लग गई! मुझे उम्मीद है कि यह अन्य डेवलपर्स के लिए उपयोगी है!
स्रोत
2012-09-20 07:50:38
http://stackoverflow.com/questions/15494357/want-to-show-div-just-under-the-link-using-jquery-when-user-click-on-link http: // स्टैक ओवरफ़्लो।कॉम/प्रश्न/15635270/अजीब-व्यवहार-ऑफ-ड्रॉप-डाउन-मेन्यू-निर्मित-बाय-जेक्वायरी – Thomas