jquery 如何获取鼠标当前位置相当于父元素的坐标 而不是相对于浏览器

jquery 如何获取鼠标当前位置相当于父元素的坐标 而不是相对于浏览器,第1张

jq只有获取元素相对于浏览器的

$(this)offset()left()忘了后边要不要小括号了

$(this)offset()top()

相对于父元素的话,把父元素的position设置成相对或绝对定位

然后documentgetElementById("dddd")offsetTop

documentgetElementById("dddd")offsetLeft

就是你要的了

这个一般是用css来显示特定内容的。

譬如有张iconpng,里面有很多内容,便可以在css中这么用。

sa

{width:20px;

height:20px;

overflow:hidden;

background:url(iconpng)

no-repeat

-20px

-30px;}

注解:

宽度和高度是控制显示范围的

overflow:hidden是确保不会有多余显示

background:url(iconpng)是使用作为背景显示,并且也只能作为背景显示才能达到这种做法的目的

no-repeat是不会重复,这个不是必须的,不过有会规范一些

-20px

-30px是的定位,显示时会将按这个坐标来定位

上面只是针对固定大小的显示内容来定义的,如果大小不固定,在background属性中有可能需要更改设置。不过重点是这种方式是这么使用的。

如果大小不固定,也可以这样定义,让背景自适应:

sa

{width:auto;

height:20px;

overflow:hidden;

background:url(iconpng)

no-repeat

right

bottom;}

对于2(首页标签)的内容,也是这么使用的:

a

{width:100px;

height:25px;

overflow:hidden;

background:url(2png)

no-repeat

left

center;}

a:hover

{background-position:right

center;}

这样一来,当鼠标移到元素时,背景定位发生变化,显示的内容便由左边的变成右边的了。

不过你应该对css这方面还不是很了解,目前可能还没有很便捷的方式对这些css进行快速定义,所以也只能告诉你是这么一回事,但未必能帮得上你。

获得鼠标的坐标,很简单,代码如下,你试试:

jQuery Code:

$('body')bind("mousemove",function(event){

$('#ss')html('The mouse cursor is at:( '+ eventpageX + ',' + eventpageY + ')');

});

Xhtml Code:

<div id="ss">The mouse cursor is at:</div>

附图一张,效果如下:

IE6 FF Chrome 下都没有问题哦 已经试过

我自己写的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">

以上就是关于jquery 如何获取鼠标当前位置相当于父元素的坐标 而不是相对于浏览器全部的内容,包括:jquery 如何获取鼠标当前位置相当于父元素的坐标 而不是相对于浏览器、如何用JS/JQ实现,点击小图片显示大图片及详细信息的功能、jquery怎样定时捕捉鼠标坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9647007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存