jQuery 1.9.1源码分析系列(十三)之位置大小操作

yizhihongxing

本文将分享jQuery 1.9.1版本的位置大小操作的相关内容,包括尺寸与位置处理以及相关API的使用方法。

获取尺寸与位置

获取尺寸

使用如下API获取元素尺寸:

var width = $(selector).width();   //获取元素宽度
var height = $(selector).height(); //获取元素高度
var innerWidth = $(selector).innerWidth(); //获取元素内宽度(包含padding)
var innerHeight = $(selector).innerHeight(); //获取元素内高度(包含padding)
var outerWidth = $(selector).outerWidth(); //获取元素外宽度(包含padding和border)
var outerHeight = $(selector).outerHeight(); //获取元素外高度(包含padding和border)
var trueOuterWidth = $(selector).outerWidth(true); //获取元素真实外宽度(包含padding、border和margin)
var trueOuterHeight = $(selector).outerHeight(true); //获取元素真实外高度(包含padding、border和margin)

其中,$(selector)是选择器,可以是class、id或标签等。

获取位置

使用如下API获取元素位置:

var position = $(selector).position(); //获取元素相对于父元素的位置
var offset = $(selector).offset(); //获取元素相对于页面的位置(包含margin)

示例说明

我们可以创建一个div来测试以上API,HTML代码如下:

<div id="test" style="width:100px;height:100px;padding:10px;border:5px solid red;margin:20px;"></div>

接下来我们可以使用以上API测试该div的尺寸与位置:

var width = $("#test").width();   //120
var height = $("#test").height(); //120
var innerWidth = $("#test").innerWidth(); //140
var innerHeight = $("#test").innerHeight(); //140
var outerWidth = $("#test").outerWidth(); //150
var outerHeight = $("#test").outerHeight(); //150
var trueOuterWidth = $("#test").outerWidth(true); //190
var trueOuterHeight = $("#test").outerHeight(true); //190

var position = $("#test").position(); //{top: 20, left: 20}
var offset = $("#test").offset(); //{top: 40, left: 40}

设置尺寸与位置

设置尺寸

使用如下API设置元素尺寸:

$(selector).width(value);   //设置元素宽度
$(selector).height(value); //设置元素高度
$(selector).innerWidth(value); //设置元素内宽度
$(selector).innerHeight(value); //设置元素内高度
$(selector).outerWidth(value); //设置元素外宽度
$(selector).outerHeight(value); //设置元素外高度

设置位置

使用如下API设置元素位置:

$(selector).position({top: value1, left: value2}); //设置元素相对于父元素的位置
$(selector).offset({top: value1, left: value2}); //设置元素相对于页面的位置

示例说明

我们可以创建一个div来测试以上API,HTML代码如下:

<div id="test" style="width:100px;height:100px;padding:10px;border:5px solid red;margin:20px;position:absolute;"></div>

接下来我们可以使用以上API测试该div的尺寸与位置:

$("#test").width(200);   //设置元素宽度为200px
$("#test").height(200); //设置元素高度为200px
$("#test").innerWidth(220); //设置元素内宽度为220px
$("#test").innerHeight(220); //设置元素内高度为220px
$("#test").outerWidth(230); //设置元素外宽度为230px
$("#test").outerHeight(230); //设置元素外高度为230px

$("#test").position({top: 50, left: 50}); //设置元素相对于父元素位置
$("#test").offset({top: 100, left: 100}); //设置元素相对于页面位置

结语

通过本文的讲解,我们了解了如何获取元素尺寸和位置,以及如何设置元素尺寸和位置,并提供了相关API的使用方法。希望这篇文章能帮助您更好地掌握jQuery的位置大小操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery 1.9.1源码分析系列(十三)之位置大小操作 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS样式表与具体设备表示

    CSS样式表与具体设备表示,是指在为不同设备编写CSS样式时,需要使用一些特定的代码来自适应不同的屏幕大小和设备类型。 以下是完整攻略,包括两个示例说明: 一、基础方案:使用媒体查询 媒体查询是一种CSS技术,可以根据不同的设备类型和屏幕大小,在同一个样式表中指定不同的样式。通过媒体查询,可以为不同大小的设备定义不同的样式,从而使网页在各种设备上都能正常显示…

    css 2023年6月9日
    00
  • 一篇文章带你了解jQuery动画

    一篇文章带你了解jQuery动画 前言 jQuery是一款广受欢迎的JavaScript库,我们可以使用它来快速简单地实现各种交互效果,特别是动画效果。下面我们就来一起了解一下如何使用jQuery实现动画效果。 知识点概述 在使用jQuery实现动画效果之前,我们先来了解一下相关的知识点: 选择器 选择器是jQuery中最基础的组成部分,它用于定位需要操作的…

    css 2023年6月10日
    00
  • jQuery实现信息提示框(带有圆角框与动画)效果

    下面是详细讲解“jQuery实现信息提示框(带有圆角框与动画)效果”的完整攻略。 1. 基本思路 信息提示框主要分为两部分:HTML和CSS。HTML负责页面结构,CSS负责页面样式。但是我们还需要使用JavaScript来实现一些动画效果及交互效果。具体实现步骤如下: 1.1 HTML结构 首先,编写提示框所需的HTML结构: <div class=…

    css 2023年6月11日
    00
  • 解决vue-cli3创建使用iview定制主题javascriptEnabled找不到该配置项

    当使用vue-cli3创建项目并使用iview做UI组件库时,可能会遇到找不到javascriptEnabled配置项的问题,这是因为javascriptEnabled是Less-loader的配置项,而iview使用的是Less的定制主题。 为了解决该问题,需要在项目根目录下创建vue.config.js文件,在该文件中配置Less-loader的java…

    css 2023年6月9日
    00
  • js实现背景图自适应窗口大小

    下面是“js实现背景图自适应窗口大小”的完整攻略: 1. 确定背景图的样式 在实现背景图自适应窗口大小的过程中,我们需要先给背景图指定一些样式。最常用的方法是将背景图作为页面的一部分,利用CSS中的background属性进行样式设置。 body { background: url("bg.jpg") no-repeat center c…

    css 2023年6月9日
    00
  • css列表前的小方块

    对于CSS中列表前的小方块,我们可以使用伪元素的方法添加。具体步骤如下: 1. 确认列表样式 在添加小方块前,我们需要确认列表样式,比如列表的样式可能是有序或无序,不同的样式需要使用不同的样式属性。 无序列表样式 无序列表使用ul标签,可以使用list-style-type属性设置小方块的样式类型。常用的样式类型包括: disc:实心圆点(默认值); cir…

    css 2023年6月10日
    00
  • CSS样式表渐进增强的应用

    CSS样式表的渐进增强(Progressive Enhancement)是一种设计网站的方法,它可以让网站在各种浏览器和设备上都具有基本的功能和信息,而不是仅仅在某些高级浏览器上才能完全呈现效果。下面是一些CSS样式表渐进增强的应用策略: 使用基础的CSS 使用基础的CSS样式来设置网站的基本样式,这样即使不支持CSS的旧浏览器也可以以基本的方式渲染页面。例…

    css 2023年6月9日
    00
  • js前端日历控件(悬浮、拖拽、自由变形)

    JS前端日历控件是开发Web应用中常用的组件之一,让用户方便快捷地选择日期。本攻略将介绍如何使用JS实现一个带悬浮、拖拽、自由变形的日历控件,并提供两条示例说明。 第一步:创建HTML结构 为了实现悬浮、拖拽、自由变形的效果,我们需要使用HTML、CSS和JS来实现,并且需要在HTML中创建一个日期容器,最好用一个DIV包含我们的日历控件,方便样式控制。以下…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部