我想要獲取相對於窗口的確切鼠標位置。jquery鼠標相對窗口的位置
這裏是我的問題...
document.height
= 1600(實際文檔大小)window.height
= 400(可視範圍)
我需要相對於鼠標位置弄清楚該窗口,而不是pageY屬性提供的文檔。
這是一個很大的工具提示,它會彈出一個表項的mouesover。如果屏幕底部沒有足夠的空間(窗口最大),則工具提示顯示在指針上方,否則顯示在指針下方。這項工作正常,直到文檔大小大於pagesize(長表)。
感謝, 呂克
我想要獲取相對於窗口的確切鼠標位置。jquery鼠標相對窗口的位置
這裏是我的問題...
document.height
= 1600(實際文檔大小)window.height
= 400(可視範圍)我需要相對於鼠標位置弄清楚該窗口,而不是pageY屬性提供的文檔。
這是一個很大的工具提示,它會彈出一個表項的mouesover。如果屏幕底部沒有足夠的空間(窗口最大),則工具提示顯示在指針上方,否則顯示在指針下方。這項工作正常,直到文檔大小大於pagesize(長表)。
感謝, 呂克
您可以減去window
從pageY的.scrollTop()
獲得位置的窗口,像這樣:
var top = e.pageY - $(window).scrollTop();
如何處理document.body.scrollTop屬性,它包含您滾動的像素。我相信一個簡單的pageY - scrollTop應該就足夠了嗎?
那麼window.pageYOffset呢?
演示:
<html>
<head>
<style>
html,body {padding:0;margin:0}
#content {height:2048px;background-color:#ccc;}
#status {position:fixed;top:0;left:0;}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$(document).mousemove(function(e){
$('#status').html(e.pageX +', '+ (e.pageY - window.pageYOffset));
});
})
</script>
<body>
<h2 id="status">0, 0</h2>
<div id="content"></div>
</body>
</html>
function showCoords(evt){
alert(
"clientX value: " + evt.clientX + "\n"
+ "clientY value: " + evt.clientY + "\n"
);
}
我認爲這是你在找什麼。詳細請參閱here from Mozilla Developer。
你們真棒。那樣做了!謝謝!! – user425772 2010-08-19 21:51:28
@lucl - 歡迎:)歡迎來到SO! – 2010-08-19 21:52:05
偉大的解決方案,如此簡單。 OP應標記爲解決方案。 – 2015-03-06 18:51:40