में उपयोग किए जाने पर शून्य लौटाता है मेरे पास इस div में निश्चित ऊंचाई (स्क्रोल करने योग्य) और 2 छोटे divs के साथ एक मास्टर div के साथ एक साधारण HTML पृष्ठ है। मैं स्क्रॉल के दौरान मास्टर div के मध्य बिंदु में वर्तमान तत्व प्राप्त करने की कोशिश कर रहा हूं। यह आईई 8 को छोड़कर सभी ब्राउज़रों पर अच्छा काम करता है। IE8 में, document.elementFromPoint() निर्देशांक के रूप में सभी संभावित मानों के लिए ऑनस्क्रॉल ईवेंट में शून्य देता है। कोई भी इस समस्या के लिए एक समाधान या समाधान जानता है?elementFromPoint ऑनसक्रॉल ईवेंट
<div id="mainDiv" style="height:300px;min-height:300px;overflow:auto;" onscroll="mouseScrolled();">
<div id="div1" style="height:500px;min-height:500px;background-color:blue;display:block;">
</div>
<div id="div2" style="height:500px;min-height:500px;background-color:red;display:block;">
</div>
</div>
<span id="debugSpan">
</span>
जावास्क्रिप्ट:
function mouseScrolled(event) {
var mainDiv = document.getElementById('mainDiv');
var x = getXY(mainDiv)[0] + mainDiv.offsetWidth/2;
var y = getXY(mainDiv)[1] + mainDiv.offsetHeight/2;
var ctr = document.elementFromPoint(x , y);
document.getElementById('debugSpan').innerHTML = "ClientX=" + x + "<BR>" + "ClientY=" + y +"<BR> Control:" + ctrId;
}
function getXY(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
while (obj = obj.offsetParent)
}
return { x: curleft, y: curtop };
}
यह जादू की तरह है .. मैंने पहले ही इसकी गणना करने के लिए किसी अन्य तरीके का उपयोग करने का निर्णय लिया है, लेकिन इस तरह यह अधिक उपयोगी होगा। धन्यवाद। –