2010-03-30 44 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」和「位置是:絕對的;」和你想要的內容。

相關問題