offset,client,style相关笔记

1.offsetTop

功能:获取元素上外缘与最近的定位父元素内壁的距离,如果没有定位父元素,则是与文档上内壁的距离

使用方法:js document.querySelector(...).offsetTop 返回数字类型 只读

注解:边缘:border以外

定位父元素:position为relative,absolute或fixed

内壁:border以内

1.1 style.top

功能:与offsetTop相同

使用方法:js document.querySelector(...).style.top

区别:

a.本身得是定位元素,否则设置了也没有意义;

b.可读写;

c.读:返回字符串,如果没有给它在行内设置top属性,一律返回空字符串,经测试,在<style></stype>中写入无用,必须是行内!(操蛋!)

d.写:设置字符串,加上单位,可以是负值

2.offsetLeft

功能:获取元素左外缘与最近的定位父元素内壁的距离,如果没有定位父元素,则是与文档左内壁的距离

使用方法:js document.querySelector(...).offsetLeft 返回数字类型 只读

注解: 不存在offsetBottom或者offsetRight

2.2 style.left(类style.top)

还有style.width,style.height...特性都和style.top一样,一样操蛋。。

3.offsetWidth

功能:获取width+padding+border 不包括margin和外滚动条

使用方法: js document.querySelector(...).offsetWidth 返回数字类型

4.offsetHeight

功能:获取height+padding+border 不包括margin和外滚动条

使用方法: js document.querySelector(...).offsetHeight 返回数字类型

备注:JQuery有offset方法,返回的是相当于文档的距离,返回数据为对象{left: 左偏移,top: 上偏移} 偏移值为数字类型

5.clientWidth

功能:获取width+ padding

使用方法:js document.querySelector(...).clientWidth 返回数字类型

5.clientHeight

功能:获取width+ padding

使用方法:js document.querySelector(...).clientHeight 返回数字类型

6.scrollLeft

功能:获取左移的距离,只能为>=0的数值,越往左越大

使用方法:js document.querySelector(...).scrollLeft 返回数字类型

注意事项:使用时相对父元素!

7.scrollTop

功能:获取上移的距离,只能为>=0的数值,越往上越大

使用方法:js document.querySelector(...).scrollTop 返回数字类型

注意事项:使用时相对父元素!

特别注意:

出于jquery的习惯,很多人习惯于写document.querySelector(...).width和document.querySelector(...).height

写法是大错特错的,在chrome,IE,firefox上将返回0,safari上返回undefined。

时间: 2024-10-10 10:17:21

offset,client,style相关笔记的相关文章

0186 元素偏移量 offset 系列:offsetTop,offsetLeft,offsetWidth,offsetHeight,offset 与 style 区别,

1.1.1 offset 概述 offset 翻译过来就是偏移量, 我们使用 offset系列相关属性可以动态的得到该元素的位置(偏移).大小等. 获得元素距离带有定位父元素的位置 获得元素自身的大小(宽度高度) 注意:返回的数值都不带单位 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewpor

Android在线升级相关笔记一(解析服务器版本与当前版本比较)

大概流程:Android客户端去访问服务器上的封装了版本号等信息的xml文件,对服务器上的版本和当前版本进行比较, 如果低于服务器的版本,则下载服务器上的新版软件,进行安装替换,完成升级. 一.首先用tomcat搭建服务器,用于开发测试. 下载tomcat请参考:http://blog.csdn.net/only_tan/article/details/25110625 1.在tomcat中新建自己的项目: \apache-tomcat-6.0.39\webapps 目录下新建自己的项目文件夹,

Endnote专题之--output style相关问题

Endnote专题之--output style相关问题 1. 打开output style, Edit--->Output Styles--->选择要编辑的某个style模板,如下面的Edit"计算机学报-JCST", 通常文献格式模板可以在已有内置模板的基础上进行修改, EndNote模板均可以从EndNote官网下载: http://endnote.com/support/enstyles.asp 2.设置output style的样式: 包括两部分,一部分为论文正文

Linux 下面java编译环境相关笔记

1.如果自己编写的java文件依赖于很多第三方库(比如adir1和dir2下面都有很多jar包),加入自己的文件名叫foo.java那么可以用如下指令编译 javac -Djava.ext.dirs=dir1;dir2 foo.java 2.打包一个可执行的jar包的过程 a.写一个完整的java文件HelloWorld.java b.执行命令:javac HelloWorld.java生成HelloWorld.class c.执行命令 jar cvf HelloWorld.jar HelloW

软件安装相关笔记

程序的安装 rpm :redhat packagemanager早期 rpm is package manager现在 rpm:/var/lib/rpm数据库 rpm命名规则: 主包:bind-version-el5.i386.rpm 子包:bind-libs-version-el5.i386.rpm 格式: name-version-release.arch.rpm bind-major.minor.release.arch.rpm 主版本号:重大改进 次版本好:某个子功能发生重大改变 发行号

shell脚本相关笔记

书写一个shell脚本并使之执行的步骤: 1. 打开一个文件,以 #! bin/bash作为开头 2.在文件中写入一些正确可执行的shell语句 3.保存文件 4.更改文件权限,执行文件 一些小技巧: 如果想在系统中添加自己的命令,比如执行自己建好的shell脚本语句这样一条命令 实例: 1.创建文件cd.sh 内容为: #! bin/bash cd xxx/yyy/zzz 2.保存文件 3.执行文件./cd.sh 现在发现并没有能够打开我们想要打开的目录并进去. 原因是shell还有分父she

神经网络与深度学习相关笔记

说明: 本文是关于http://neuralnetworksanddeeplearning.com/的相关笔记 问题一:神经元在错误的值上饱和导致学习速率的下降 解决: 1.输出层: 因使用二次代价函数时,学习在神经元犯了明显错误时却比学习快接近真实值时慢, 可以使用交叉熵代价函数 使得在神经元犯明显错误时学习得更快 注: 输出层:具有交叉熵代价的S型(sigmoid)输出层或具有对数似然代价的柔性最大值(softmax)输出层 后者更加适用于那些需要将输出激活值解释为概率的场景 2.隐藏层:

JavaScript中的 offset, client,scroll

在js 中我们要用到的 offset, client, scroll 在这我把自己理解的给大家分享一下. offset div.offsetTop 指div距离上方或上层控件的距离,单位像素 div.offsetLeft 指div距离左侧或上层控件的距离,单位像素 div.offsetWidth 指div 控件本身的宽度,单位像素 div.offsetHeight 指div 控件本身的高度,单位像素 混淆点 clientWidth 指对象看到的宽度,不包含border scrollWidth 是

05 神经网络与深度学习相关笔记

说明: 本文主要是关于http://neuralnetworksanddeeplearning.com/的相关笔记 问题一:神经元在错误的值上饱和导致学习速率的下降 解决: 1.输出层: 因使用二次代价函数时,学习在神经元犯了明显错误时却比学习快接近真实值时慢, 可以使用交叉熵代价函数 使得在神经元犯明显错误时学习得更快 注: 输出层:具有交叉熵代价的S型(sigmoid)输出层或具有对数似然代价的柔性最大值(softmax)输出层 后者更加适用于那些需要将输出激活值解释为概率的场景 2.隐藏层