理解JavaScript和jQuery中的位置与尺寸

Part 1 JavaScript中的位置和尺寸

一、元素的位置

1、 offsetLeft;offsetTop(只读)

相对于offsetParent边框左上角的坐标。

   什么是offsetParent?

某元素的offsetParent就是离该元素最近的定位父元素,如果没有定位父元素,那么offsetParent就是body。

2、scrollLeft;scrollTop(可设置)

由于滚动而被遮挡的内容区域左上方部分的宽高。

仅仅对页面和设置了overflow的元素有效,(因为只有它们的内容是“可滚动的”)。

常用于确定和设置页面的滚动距离,因为网页页面向下滚动的距离就是页面上方被浏览器遮住部分的高度。

二、元素的尺寸

1、offsetWidth;offsetHeight(只读)

border-box的宽高

2、clientWidth;clientHeight(只读)

padding-box的宽高


3、scrollWidth;scrollHeight(只读)

content的宽高

三、鼠标的位置

1、clientX;clientY

鼠标位置相对于浏览器视窗左上角的坐标。

该属性隶属于事件对象event

2、pageX;pageY

鼠标位置相对于网页页面左上角的坐标。

该属性隶属于事件对象event。

pageX/Y也可以根据clientX/Y和scrollX/Y计算出来。

3、screenX;screenY

鼠标位置相对于电脑屏幕左上角的坐标。

该属性隶属于事件对象event。

Part 2  jQuery中的位置和尺寸

一、元素的位置

1、position()

返回一个包含left和top属性的对象,left和top属性储存的值是相对于定位父元素的坐标,等同于JavaScript中的offsetLeft和offsetTop;

2、scrollLeft();scrollTop()

等同于JavaScript中的scrollLeft和scrollTop;

3、offset()

返回一个包含left和top属性的对象,left和top属性储存的值是相对于文档页面左上角的坐标。在JavaScript中要得到这两个值需要通过offsetLeft或offsetRight进行迭代计算,jQuery封装了这个方法,因此我们可以直接调用。

二、元素的尺寸

  content-box的宽高:width();height()

  padding-box的宽高:innerWidth();innerHeight()

  border-box的宽高:outerWidth();outerHeight()

三、鼠标的位置

和JavaScript中鼠标位置属性一样(jQuery也许并没有对event对象的鼠标坐标属性做任何改变)。

本文图片来源:《Professional.JavaScript.for.Web.Developers》(3rd.Edition.Jan.2012)

时间: 2024-10-03 08:11:18

理解JavaScript和jQuery中的位置与尺寸的相关文章

javascript 与 jquery 中的函数调用的区别

标签:例如<input id="btn_show" type="button" onclick="show()" /> <script type="text/javascript"> $(function(){ function show(){ -- } }) function show(){ -- } </script> 注意, 此时button的点击事件不会调用jquery中的show(

JavaScript与jQuery中获取屏幕的宽度和高度的常用方法以及HTML中精确定位

浏览器的宽高示意图: JavaScript中常用的方法: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body.scr

异步处理XML异步数据——以原生的JavaScript与jQuery中的$.ajax()为例

此文档解决以下问题: 一.原生的JavaScript从服务器端输出XML格式数据 1.XMLHttpRequest对象的运用 XMLHttpRequest对象的open()方法 XMLHttpRequest对象的send()方法 XMLHttpRequest对象的onreadystatechange事件运用 XMLHttpRequest对象的readyState属性 XMLHttpRequest对象的status属性 XMLHttpRequest对象的responseXML属性 2.docume

web前端之JavaScript之jquery中的回调函数

回调函数指的是被调用者完成处理后自动回调调用者预先传递的函数. 在类C语言中通常通过函数指针/引用的方式传递. jQuery也提供类似的回调函数机制.但是如何正确传递回调函数仍然值得一提. 在John(jQuery Founder)写的指南中有详细的介绍. 1.不带参数的回调 $.get('myhtmlpage.html', myCallBack); 其中myCallBack是函数名字.函数是javascript的基础.可以当作引用变量一样传递. 2.带参数的回调 很自然的,按照以往的经验,我们

JavaScript和jquery中的宽度

Javascript: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body.scrollHeight 网页被卷去的高

JavaScript和JQuery中的事件\委托链\事件冒泡\事件捕获,兼容所有浏览器

有做过北大青鸟培训讲师经验的我,如今在一家公司做技术部经理的职位,发现有很多程序员的基本功相当糟糕,在组织企业内部培训时讲解了一些案例,总结了一些经典代码,希望对自己和有需要的人提供一些帮助吧: JavaScript版本: DOM0事件不支持委托链 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="C

JavaScript在网页中的位置

JavaScript is inserted into HTML pages by using the <script> element. This element can be used to embed JavaScript into an HTML page, leaving it inline with the rest of the markup, or to include JavaScript that exists in an external fi le. The follo

“checkbox”和“select”对象在javascript和jquery的操作差异做了整理

checkbox checkbox在javascript和jquery中选中和取消的方法 Javascript: document.getElementById("myCheck").checked=true document.getElementById("myCheck").checked=false Jquery: $("#myCheck").attr("checked","checked"); $(

理解 JavaScript call()/apply()/bind()

理解 JavaScript this 文章中已经比较全面的分析了 this 在 JavaScript 中的指向问题,用一句话来总结就是:this 的指向一定是在执行时决定的,指向被调用函数的对象.当然,上篇文章也指出可以通过 call() / apply() / bind() 这些内置的函数方法来指定 this 的指向,以达到开发者的预期,而这篇文章将进一步来讨论这个问题. 先来回顾一下,举个简单的例子: var leo = { name: 'Leo', sayHi: function() {