常用的一些获取尺寸的方法

今天,我们来说一个比较小的点,但也是比较常用的知识点,就是获取尺寸的方法。

首先,我们先来说一下获取可视区的宽度,但前提你要知道什么是可视区,就是我们现在双眼所看的这个界面,当然不包括滚动条拉下去之后的啦,

接下来我们说一下方法:

//获取可视区的宽度

document.documentElement.clientWidth;

//获取可视区的高度

document.documentElement.clientHeight;

那如果你还不理解的话,我们来个比较官方的说法:clientWidth和clientHeight这组属性可以获取元素可视区的大小,可以得到元素内容及内边距所占据的空间大小。返回了元素大小,但没有单位,默认单位是px,如果你强行设置了单位,比如100em之类,它还是会返回px的大小。(CSS获取的话,是照着你设置的样式获取)。对于元素的实际大小,clientWidth和clientHeight理解方式如下:

a. 增加边框,无变化;

b. 增加外边距,无变化;

c. 增加滚动条,最终值等于原本大小减去滚动条的大小;

d. 增加内边距,最终值等于原本大小加上内边距的大小;

我们可以看一下在网页里的实际情况

//获取滚动条的滚动的距离

document.documentElement.scrollTop

但是在IE中有兼容性问题,所以我们要怎么解决这个问题呢,我们可以这样做

var t =
document.documentElement.scrollTop||document.body.scrollTop

我们可以这样用

window.onscroll = function(){

var
t = document.documentElement.scrollTop||document.body.scrollTop

console.log(t)

}

上面我们都有在说一些获取的尺寸都是可视区,那我们再说一下获取整个页面的尺寸要如何做:

//获取整个页面的宽度

document.body.clientWidth;

//获取整个页面的高度

document.body.clientHeight;

最后,给大家普及一个我们经常在网页上看到的右边的回到顶部的做法,也刚好用到我们上面所讲的知识。

首先,我们设置回到顶部那个小方块必须在浏览器的可视区的正中间

//获取可视区的高度的一半减去元素的高度的一半  (当前元素就会在浏览器的正中央)

var iH = document.documentElement.clientHeight/2-box.offsetHeight/2;

box.style.top = iH+‘px‘;

window.onscroll = function(){

//滚动的时候获取滚动条的滚动距离

var t = document.documentElement.scrollTop
|| document.body.scrollTop;

//小方块的top值就等于 iH+ 滚动条的滚动距离

box.style.top = t+iH+‘px‘;

}

box.onclick = function(){

//让滚动条的滚动距离为0就可以回到顶部了

document.documentElement.scrollTop = document.body.scrollTop = 0

}

当点击红色小方块的时候,可以快速回到顶部,而他也始终保留在可视区的中间。

好了,细碎的知识点就讲到这里,欢迎批评改正。

原文地址:https://www.cnblogs.com/cuigege/p/9066351.html

时间: 2024-10-25 00:29:55

常用的一些获取尺寸的方法的相关文章

js(jQuery)获取时间的方法及常用时间类搜集

获取时间的方法及常用时间类都是大家经常使用的,在本文为大家整理了一些,个人感觉还比较全,感兴趣的朋友可以收集下 复制代码代码如下: $(function(){ var mydate = new Date(); var t=mydate.toLocaleString(); /*alert(t);*/ $("#time").text(t); $("#time").load("Untitled-1.html"); }); <P id="

request常用获取信息的方法

servlet代码 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class

Java中获取路径的方法_自我分析

就目前的我来说最常用的两种获取路径的方法是  class.getRecource(filename) 和 class.getclassloader.getRecource(filename) 这两者的区别其实很简单就是路径的时候有点不同,这里主要讲两个参数,其他的路径获取,其他的话在根据相对路径逐一查找就行了 class.getRecource(filename): 参数"/" 表示获取根目录; (即我们常用到的bin目录[字节码文件存放的目录] " "  表示获取

不常用的寻找dom节点的方法

有关表格的两个对象获取方式 var tab = document.getElementById(“tab1”)          ;        //假设tab1是一个table的id,则: var allRow = tab.rows;    //代表tab的所有行, 也是一个集合,也可以使用tab.getElementsByTagName("tr") var oneRow = allRow[0]; //表示tab中的第一行(第一个tr) var allTd = oneRow.cel

产品经理常用的四种需求收集方法简述

A 客户访谈 客户访谈是通过面对面的交流方式了解具体客户对产品.对流程的需求.观点和看法. 客户访谈的内容可以包括: 1.了解哪些需求对客户比较重要. 2.就了解到的一些需求请客户协助进行优先排序. 3.就问题改进建议的初步想法与客户进行讨论,确认是否能够满足客户需求. 客户访谈的优点包括: 1.由于是面对面的交流,因此在调查内容上更加灵活,可以随时根据问答状况就一些内容进行深入讨论,获得更多的客户感受. 2.客户可以再调查人的协助下,进行一些较为复杂的问卷调查. 3.客户访谈方式的适用面广,可

Android获取系统时间方法详解

Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar.getInstance()函数获取一个实例,再为该实例设定时区(中国的时区为GMT+8:00),最后使用Calendar.get()函数获取时间的具体信息,如年,月,日,小时,分,秒,星期几. package com.hzhi.time_example; import java.util.Cale

document获取对象三方法

Document对象中有几个常用的方法,我们在Dom简介中提到过.说到获取javascript对象的方法,最常用的可能就是getElementById了,它是Document中最常用的获取对象的方式之一,另外还有两个常用的获取对象的方法是getElementsByTagName 和getElementsByName.其中getElementById获取到的是单对象,而getElementsByName和 getElementsByTagName 获取到的都是集合. 现在我们有一个form表单,内

Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)

当前位置: 首页 > 编程社区 > Swift > Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等) Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等) 2015-06-15 16:06 发布:yuhang 浏览:207 iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.下面介绍常用的程序文件夹目录: 1,Home目录  ./ 整个应用程序各文档所在的目录 1 2 //获取程序的Home目录 le

Linux学习笔记——获取命令帮助方法及命令分类

命令类型: 内嵌命令:shell 内嵌 外部命令:在文件系统中存在某个路径与命令相同的可执行文件 环境变量:命名的内存空间 变量赋值 #printenv   显示环境变量 #hash     显示缓存命中命令 PATH:  使用:隔开的一组路径 0(1) 查找数据速度标准 获取命令帮助方法: 1.#help  COMMAND          获取内部命令帮助 ,例 help cd    查看cd命令帮助信息 2.# COMMAND --help        获取外部命令帮助,例  ls  -