2010-03-30 77 views
0

我想确定用户点击的位置。找到用户点击的光标位置,并在用户点击的位置显示一个div

并在用户点击页面底部显示一个div。

例如,如果某个人点击了标志,则在堆叠流程主页上。

然后div应显示在标志的底部位置。

同样的方法,如果我点击底部链接,那么div应显示在页面的底部。

我正在使用mootools作为我的JS框架。但是任何JavaScript代码都会对我有所帮助。

希望这一切都是明确的。

在此先感谢
阿维纳什

回答

1
<head> 
</script>   
function mouseX(evt) 
{ 
    if (evt.pageX) return evt.pageX; 
    else if (evt.clientX) 
     return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); 
    else return null; 
} 
function mouseY(evt) 
{ 
    if (evt.pageY) return evt.pageY; 
    else if (evt.clientY) 
     return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
    else return null; 
} 
function clicked(evt) 
{ 
    if(typeof evt == 'undefined') 
    evt = window.event; 
    alert("X = "+ mouseX(evt) + " Y= " + mouseY(evt); 

} 
</script></head> 
<body onclick="clicked()"></body> 

您可以使用简单的window.event.x, window.event.y但这是获得位置的更稳定&可靠的方法..

[代替警报,日子会把你是更改divElement.style.left , divElement.style.top ..确保div的position(样式)为absolute。 ]

+0

我已经尝试过,但它显示下面的错误:evt是undefined – Avinash 2010-03-30 10:42:26

+0

我编辑了代码..猜这会工作..试试吧。 – raj 2010-03-30 12:16:54

0

随着原型很简单:

document.observe('click', function(e) { 
    $('YourDivId').setStyle({ 
     'left': e.clientX, 
     'top': e.clientY 
    }).show(); 
}); 

所有你现在需要做的是建立在你的身体的HTML DIV与“显示:none”和“位置是:绝对的;”和你想要的内容。

相关问题