e.pageX、e.clientX、e.screenX、e.offsetX的区别以及元素的一些CSS属性

摘要:
E、 pageX,E.pageY:返回的值与文档的位置有关。文档的左上角为(0,0),右上角为正,下角为正。IE不支持;E、 clientX,E.clientY:返回的值是相对于屏幕可见区域的坐标。如果页面有滚动条,则不会计算滚动条的隐藏部分,或相对于屏幕的坐标,但不会计算上面的工具栏;E、 screenX,E.screenY:返回相对于屏幕和浏览器工具栏的坐标;E、 offsetX,E.offsetY:返回相对于文档的坐标,与E.pageX和E.pageY相同,但仅由IE支持。
e.pageX,e.pageY:返回的值是相对于文档的定位,文档的左上角为(0,0),向右为正,向下为正,IE不支持;

e.clientX,e.clientY:返回的值是相对于屏幕可见区域的坐标,如果页面有滚动条,呗滚动条隐藏的那部分不进行计算,也可以说是相对于屏幕的坐标,但是不计算上方的工具栏;


e.screenX,e.screenY:返回的是相对于屏幕的坐标,浏览器上面的工具栏;

e.offsetX,e.offsetY:返回的是相对于文档的坐标,和e.pageX,e.pageY作用相同,但是只有IE支持。
$(window).scrollTop():返回的是浏览器右边的滚动条滚动的距离;

所以:e.pageY=e.pageY||e.clientY+$(window).scrollTop(); //兼容性的写法


下面说一下关于.offset(),.position(),.scrollTop(),.width(),.innerWidth(),。.outerWidth()的区别:

.offset().top:返回元素距离文档上方的距离;
.offset().left:返回的是元素距离文档左边的距离;

还可以自己进行设置,.offset({top:20,left:20});

.position().top:返回的是与被定位的祖先元素的偏移距离,
如果他的父元素被定位了,不管是绝对新定位还是相对定位,返回的是与他的父元素的偏移距离,
如果他的父元素没有被定位,他的每一个祖先元素被定位了,则返回的是与他的祖先元素的偏移距离,
如果都没有被定位,则返回的是相对于文档的偏移距离,与.offser().top返回值相同;
同理.position().left

.scrollTop():如果一个元素有滚动条,则返回的是滚动条滚动的长度;
同理.scrollLeft()

.width():返回的是元素的宽度,这个宽度不包含padding,border,margin,同理.height();支持写操作,$n1.height( 20 );


.innerWidth():返回的是元素的宽度,这个宽度包含padding,但不包含border与margin,同理.innerHeight();支持写操作,$n1.innerWidth( 20 );

.outerWidth():返回的是元素的宽度,这个宽度包含padding,border,但不包含margin,同理.outerHeight();

.outerWidth(true):此时返回的宽度也包含margin了

$('.wrap').width( function(index, width){
return Math.max(width, 1200);//设置其最小宽度为1200px
} );


免责声明:文章转载自《e.pageX、e.clientX、e.screenX、e.offsetX的区别以及元素的一些CSS属性》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android蓝牙操作笔记C# WinForm界面美化--使用IrisSkin实现换肤功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

移动端去除横向滚动条

移动端横向商品浏览、横向滑动广告位(CSS实现) 在手机上逛一些电商网站或者其他相同类型的网站时,会遇到横向滑动的商品。如京东、淘宝等电商网站下。我们知道,这一般情况下为某个元素设置overflow: auto做到,表示横向或者竖向依据内容的多少自动出现滚动条。但是,在页面中间出现横向滚动条是十分不好看的..在不使用任何插件的情况下,可以使用原生CSS的...

android学习笔记11——ScrollView

ScrollView——滚动条 用于内容显示不全,可提供滚动条下来形式,显示其余内容。 ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 特点如下:   1.只能有一个子控件   2.两个控件可以互相嵌套   3.ScrollView派生子FrameLayout   4.ScrollView——垂直滚动条;Horiz...

h5页面下拉到底部加载下一页数据

//页面滚到底部异步加载下一页数据 $(window).scroll(function () { //已经滚动到上面的页面高度 var scrollTop = parseFloat($(this).scrollTop()), //页面高度 scrollHeight =$(documen...

JS之滚动条效果2

在前面一篇说的是滚动条效果,本篇继续在前面的基础上面针对滚动条进行操作。本次要实现的效果如下:拖动滚动条左右移动时,上面的图片内容也相对外层盒子做相对移动。 下面针对要实现的效果进行分析:首先是页面基础结构,要实现内容的相对移动,里面的内容需要针对外层盒子相对定位,宽度应该大于外层盒子,而且外层盒子应该超出隐藏。下面是一个滚动条,由底层和滚动两部分组成。...

JS中的位置和宽度:clientWidth、offsetWidth、scrollWidth等区别

首先定义一个div。 然后稍微装修一下 下面开始区分 一、clientWidth和clientHeigh 、 clientTop和clientLeft1,clientWidth的实际宽度 clientWidth =width+左右padding 2,clientHeigh的实际高度 clientHeigh = height + 上下padding 3,...

移动端解决input被输入法挡住的问题

有过移动端web开发经验的人应该都会遇到这个问题,一个input在页面最底部或者偏下的位置,输入时由于输入法的弹出,在部分浏览器下由于不会自动计算window的高度,导致input被输入法挡住。本文的解决方式是利用scrollTop来解决,在input获取焦点后,动态地设置body的高度并设置scrollTop到指定位置,这样可以保证input会滚动到输入...