首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js获取各种高度总结

在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到的,时间仓促,没有考虑到万恶的IE浏览器。。。。...获取屏幕的高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域的高度和宽度(去掉状态栏): window.screen.availHeight...window.screen.availWidth 网页全文的高度和宽度: document.body.scrollHeight document.body.scrollWidth 滚动条卷上去的高度和向右卷的宽度...: document.body.scrollTop document.body.scrollLeft 网页可见区域的高度和宽度(不加边线): document.body.clientHeight document.body.clientWidth...网页可见区域的高度和宽度(加边线): document.body.offsetHeight document.body.offsetWidth

12.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

JS - 可自动伸缩高度的文本框

textarea如果设定了宽高,那么如果文本超出框的高度,会自动出现滚动条。而不会撑开文本框的高度。 如果什么也不设置,最小宽高很窄很细,随便输入内容也会超出文本框隐藏,且自动增加滚动条。 ?...怎么让文本框初始化设置一定的高度,但是文字超出时自动跟随内容的高度伸缩? 答: 初始化高度通过css设置(如上),自动伸缩的高度值通过js来计算(如下)。...如果js计算的话,就需要事件触发,用change事件? 答:但是change事件体验不好。 为什么? change事件的现象是,输入框失去焦点的时候才会触发。...答:就是计算文本框的滚动高度,即内容高度 具体怎么做? 答:键盘每次弹起的时候,获取文本框的内容高度添加给文本框的高度,即可让其实时的跟随内容自适应。 内容高度用什么属性计算?...即:scrollHeight:给定对象的滚动高度,即内容的可视高度

9.2K20

「前端进阶」高性能渲染十万条数据(虚拟列表)

简单说明一下,为何两次 console.log的结果时间差异巨大,并且是如何简单来统计 JS运行时间和 总渲染时间: 在 JS 的 EventLoop中,当JS引擎所管理的执行栈中的事件以及所有微任务事件全部执行完后...由于只是对 可视区域内的列表项进行渲染,所以为了保持列表容器的高度并可正常的触发滚动,将Html结构设计成如下结构: ...-- item-n --> infinite-list-container 为 可视区域的容器 infinite-list-phantom 为容器内的占位,高度为总列表高度...,用于形成滚动条 infinite-list 为列表项的 渲染区域 接着,监听 infinite-list-container的 scroll事件,获取滚动位置 scrollTop 假定 可视区高度固定...2.将列表项 渲染到屏幕外,对其高度进行测量并缓存,然后再将其渲染至可视区域内。

9.9K74

javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法

关于js中的offsetWidth、clientWidth、scrollWidth等一系列属性及其方法一直都傻傻分不清,这里就来总结一下这些方法的用法和含义。...clientWidth * scrollHeight 元素内容真实的高度,内容不超出盒子高度时为盒子的clientHeight * ****** 元素视图属性结束...* innerWidth 浏览器窗口可视区宽度(不包括浏览器控制台、菜单栏、工具栏) * innerHeight 浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏) * *...(不包括浏览器控制台、菜单栏、工具栏、滚动条) * document.documentElement.clientHeight 浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏、滚动条...* left: 元素最左边(不包括border)到可视区最左边的距离 * right: 元素最右边(包括border)到可视区最左边的距离 * top: 元素顶边(

84620

(五)IntersectionObserver 监听元素进入离开指定可视区

'IntersectionObserver' 监听元素进入离开指定可视区域 说明 在开发过程中,我们可能经常需要监听元素是否进入可是区域,平时我们都是监听滚动条的高度,但是这样非常消耗资源,在这里我们可以使用...io.observe接受一个DOM元素,添加多个监听 使用forEach io.observe(item) }) 配合vue实现demo dome 配合 vue 写一个自定义指定,当元素进入可视区域的时候给他加上一个...class 离开可视区域的时候给他移除 class 第一步 在 vue 的 src 文件夹下面创建一个 directives 文件夹,文件夹里面创建一个 index 的 ts 或 js 文件 /*...* * @describe 自定义指令模块 * @params { * ToAnimation 进入可视区域动画 离开可视区域动画 * formAnimation...离开可视区不移除class * } */ import ToAnimation from ".

2.3K10
领券