比如页面上有个table,里面有一格我放了个canvas,现在想实现的是,鼠标在canvas上移动时,根据位置不同,显示不同的内容。
但是onmousemove中返回的clientX是相对于浏览器的,而canvas相对浏览器的位置是不知道的(或者说是不固定的),那么,是否有办法可以将这个值转换为相对于canvas的值呢。
最好是通用解决,适合FF或者IE的,似乎IE下有个 X属性。
但是onmousemove中返回的clientX是相对于浏览器的,而canvas相对浏览器的位置是不知道的(或者说是不固定的),那么,是否有办法可以将这个值转换为相对于canvas的值呢。
最好是通用解决,适合FF或者IE的,似乎IE下有个 X属性。
解决方案 »
- 如何实现jquery点击切换的效果?
- jQuery的问题
- 疯了,在FF中,用getAttribute()和nodeValue属性都不能获得DOM元素的值!
- 为什么用resin可以输出时间,而用tomcat就不行?
- dd-mm-yy日期检测
- thanks.如何动态改变text的maxlength属性
- 我在一个网站上看到一个投票系统,投完票后就能出现一个柱状图动态现实当前票数,请问如何实现呢?
- 关于粘贴的问题
- 用IE开了2个窗口,如何在其中一个窗口中控制另外一个窗口的刷新?
- 开新窗口的问题 急急急急急急急急急急急急急急急急急急!
- 使用jquery.masonry做瀑布流,但是为什么每次打开页面回重叠
- 页面换肤时,部分页面中按钮图片没有切换?
<tr><td style="width:100px">1<br />1<br />1<br />1<br />1<br /></td><td>123132</td></tr>
<tr><td></td><td style="position:relative"><canvas id="canvas" style="height:300px;width:400px;border:solid 1px #000" onmousemove="move(event)"></canvas></td></tr>
</table>
<script type="text/javascript">
function move(e) {
var x = e.offsetX || e.layerX;
var y = e.offsetY || e.layerY;
document.title = x + "|" + y
}
</script>
y坐标也这样写就可以了.
offsetTop:function(target){
var newTop=target.offsetTop;
while(target=target.offsetParent){
newTop+=target.offsetTop;
}
return newTop;
},
offsetLeft:function(target){
var newLeft=target.offsetLeft;
while(target=target.offsetParent){
newLeft+=target.offsetLeft;
}
return newLeft;
}
}e.clientX - $Distance.offsetLeft(e.target)e.clientY - $Distance.offsetTop(e.target)