Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js中offset系列、client系列、scroll系列和screen系列详解

js中offset系列、client系列、scroll系列和screen系列详解

原创
作者头像
IT工作者
发布于 2022-05-12 08:22:29
发布于 2022-05-12 08:22:29
69100
代码可运行
举报
文章被收录于专栏:程序技术知识程序技术知识
运行总次数:0
代码可运行

1. offset系列

element.offsetTop: 返回元素距离带有定位的父元素的顶部的距离,如果所有父级元素没有则默认为浏览器的body区域; element.offsetLeft: 返回元素距离带有定位的父元素的左侧的距离,如果所有父级元素没有则默认为浏览器的body区域; element.offsetWidth: 返回元素大小,元素内容宽度 + padding值 + border值; element.offsetHeight: 返回元素大小,元素内容高度 + padding值 + border值;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

<body>
    <div class="father">
        <div class="son"></div>
    </div>

    <style>
        .father {
            position: relative;
            width: 200px;
            height: 200px;
            padding: 10px;
            border: 5px solid #000;
            background-color: pink;
        }
        .son {
            width: 100px;
            height: 100px;
            padding: 10px;
            margin-left: 50px;
            border: 5px solid #000;
            background-color: blue;
        }
    </style>
    <script>
        const son = document.querySelector(".son");
        console.log(son.offsetTop); // 10
        console.log(son.offsetLeft); // 60
        console.log(son.offsetWidth); // 130 width + 2 * padding + borde
        console.log(son.offsetHeight); // 130 height + 2 * padding + borde
    </script>
</body>

2. client系列

element.clientTop: 返回元素上边框的长度; element.clientLeft: 返回元素左边框的长度; element.clientWidth: 返回元素大小(宽度),不包含边框,width + padding; element.clientHeight: 返回元素大小(高度),不包含边框,height + padding;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

<body>
    <div class="father">
        <div class="son"></div>
    </div>

    <style>
        .father {
            width: 200px;
            height: 200px;
            padding: 10px;
            border: 5px solid #000;
            background-color: pink;
        }
        .son {
            width: 100px;
            height: 100px;
            padding: 10px;
            margin-left: 50px;
            border: 5px solid #000;
            background-color: blue;
        }
    </style>
    <script>
        const son = document.querySelector(".son");
        console.log(son.clientTop); // 5
        console.log(son.clientLeft); // 5
        console.log(son.clientWidth); // 120 width + 2 * padding
        console.log(son.clientHeight); // 120 height + 2 * padding
    </script>
</body>

3. scroll系列

element.scrollTop: 返回被卷去的上侧距离(页面纵向滚动,滚动条拉动的距离);

element.scrollLeft: 返回被卷去的左侧距离(页面横向滚动,滚动条拉动的距离);

onscroll事件: 页面滚动事件,当页面滚动的时候会监听这个事件;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body>
    <div class="son"></div>
    <div class="son1"></div>

    <style>
        .son {
            width: 100px;
            height: 100px;
            padding: 10px;
            margin-left: 50px;
            border: 5px solid #000;
            background-color: blue;
            overflow: auto;
        }
        .son {
            width: 100px;
            height: 100px;
            padding: 10px;
            margin-left: 50px;
            border: 5px solid #000;
            background-color: blue;
            overflow: auto;
        }
    </style>
    <script>
        const son = document.querySelector(".son");
        const son1 = document.querySelector(".son1");
        son.addEventListener("scroll", () => {
            console.log(son.scrollTop);
        })
        son1.addEventListener("scroll", () => {
            console.log(son.scrollLeft);
        })
    </script>
</body>

element.scrollWidth: 返回元素大小(宽度),不包含边框,width + padding,注意这个宽度指的是内容实际大小,内容如果超出也要算在内;

element.scrollHeight: 返回元素大小(高度),不包含边框,height + padding,注意这个高度指的是实际大小,内容如果超出也要算在内;

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body>
    <div class="son">hellohellohellohellohellohellohello</div>
    <div class="son1">
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
        hello
    </div>

    <style>
        .son {
            width: 100px;
            height: 100px;
            padding: 10px;
            border: 5px solid #000;
            background-color: blue;
        }
        .son {
            width: 100px;
            height: 100px;
            padding: 10px;
            margin-top: 50px;
            border: 5px solid #000;
            background-color: pink;
        }
    </style>
    <script>
        const son = document.querySelector(".son");
        const son1 = document.querySelector(".son1");
        
        console.log(son1.scrollWidth);
        console.log(son2.scrollHeight);
    </script>
</body>

4. screen系列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.screenTop: 表示窗口相对于电脑屏幕顶部的位置;
window.screenLeft: 表示窗口相对于电脑屏幕左侧的位置;
window.screen.width: 电脑屏幕分辨率的宽;
window.screen.height: 屏幕分辨率的高。
console.log(window.screenTop);
console.log(window.screenLeft);
console.log(window.screen.width);
console.log(window.screen.height);

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
offsetWidth与offsetLeft
1、offsetWidth: 为元素的width+元素的padding+边框的宽度
全栈程序员站长
2022/11/01
6630
【前端】:client、offset、scroll
Get the current computed width for the first element in the set of matched elements.
WEBJ2EE
2020/01/17
1K0
【前端】:client、offset、scroll
client offset详解
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; }
贵哥的编程之路
2020/10/28
8200
使用原生js + websocket 做一个聊天室
websocket是 html5 新增的一项api,实现客户端与服务器之间的即时通信。今天用它来实现一个聊天室demo,这里选择原生js来实现,因为用惯了vue和react的舒适框架,是时候复习一下原生的api了。毕竟现在前端技术更新很快,掌握好底层的东西才能做到以不变应万变
心念
2023/01/11
2.4K0
如何迅速熟练掌握盒子模型?(学习方法很重要)
----在前面文章冲浪笔记4中仅对盒子模型进行介绍,感兴趣的小伙伴也可以去看看,这篇文章将具体描述,并推荐一个自己觉得好用的记忆方法,喜欢的小伙伴可以收藏🧐常用到的:①居中效果margin: auto;②圆角border-radius: 10px;③三合一边框boder: 10px solid red;----一、概念1、CSS假定每⼀个标签都是⼀个矩阵,围绕着这个矩阵,从内到外展开⼀系列的属性来描述它2、组成:content、padding、boder、margin二、记忆方法1、俯视一个完整的篮球场,篮
申小兮
2023/04/07
2570
如何迅速熟练掌握盒子模型?(学习方法很重要)
38·灵魂前端工程师养成-[项目]让皮卡丘动起来
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
3370
38·灵魂前端工程师养成-[项目]让皮卡丘动起来
你还在用图片做引导蒙层?
首先认识一下引导蒙层,如下图页面是一个蒙层,会在某个局部位置高亮我们需要重点突出的内容:
WecTeam
2019/12/16
2.8K0
你还在用图片做引导蒙层?
前端学习(49)~offset相关属性和匀速动画(含轮播图实现)
offsetWidth 和 offsetHight:获取元素的宽高 + padding + border,不包括margin。如下:
Vincent-yuan
2020/03/19
8290
【如果你要学JS XII】——使用js实现模态框拖动
这篇文章来实现一下js中的放大镜效果,以及如何实现模态框拖动效果 先来了解一下offset,client和scroll系列属性
像素人
2023/12/25
4000
【如果你要学JS XII】——使用js实现模态框拖动
移动端滚动分页解决方案
目前主流的解决方案主要有两个,scroll 和 IntersectionObserver
万少
2025/02/10
2150
移动端滚动分页解决方案
自己动手写Vue插件Toast
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/108442.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/20
3170
自己动手写Vue插件Toast
BOM大详解
了解: 1.BOM架构全局对象的使用. 2.根据案例来讲解 3:大总结。 4;效果.
贵哥的编程之路
2020/11/06
5350
scroll
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>57-JavaScript-scroll属性</title> <style> *{ margin: 0; padding: 0; } div{ width: 100px; height: 100px;
贵哥的编程之路
2020/10/28
6020
Web前端知识(三)
font-size、font-family、font-style、font-weight
软件小生活
2021/09/10
1.6K0
JSON基础、原生的ajax及JQuery.ajax
(1)从服务器上读取JSON数据,将json数据转化成js对象,然后在网页中使用数据
申小兮
2023/04/19
9710
JSON基础、原生的ajax及JQuery.ajax
HTML+CSS+JS 实现登录注册界面[通俗易懂]
鉴于小伙伴们没有csdn积分,我把代码压缩成了一个压缩包,放在了gitee上面,需要的请点击下载 点击下载
全栈程序员站长
2022/09/13
26.2K0
HTML+CSS+JS 实现登录注册界面[通俗易懂]
从零开始学 Web 之 BOM(四)client系列
这时候,如果鼠标不动,只滚动滑轮的话,会发现图片会距离鼠标原点越来越远。为什么呢?
Daotin
2018/08/31
8690
JQuery的属性操作及事件
①data():在元素本身是看不到设置的属性(不会更改DOM结构),但是该属性是存在的,且可以获取输出
申小兮
2023/04/18
1.8K0
JQuery的属性操作及事件
JavaScript 基本知识
内嵌式:把代码书写在一个script标签对内(这种不需要任何行为会自动执行JS代码)
全栈程序员站长
2022/11/01
2.4K0
JavaScript 基本知识
从零开始学 Web 之 BOM(三)offset,scroll,变速动画函数
在 window 下有一个方法:window.getComputedStyle(element, string) 可以获取一个元素所有的属性值。
Daotin
2018/08/31
1.2K0
相关推荐
offsetWidth与offsetLeft
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验