JS的学习5

1.元素尺寸

  1. clientWidth和clientHeight:获取元素内部可视区域尺寸,内容区域+内边距不包括外边距边框和滚动条,只读
  2. innerWidth和innerHeight:获取浏览器视口尺寸,包含滚动条
  3. offset,只读属性,没有单位
  1. getBoundingClientRect()元素综合属性,返回元素的大小及其相对于视口的位置
  • element.getBoundingClientR() 返回值如下
  • x/left: 元素左侧距离视口左侧的距离
  • y/top:元素顶部距离视口顶部的距离
  • width:元素的宽度(包含padding和border)
  • height:元素的高度(包含padding和border)
  • right:元素右侧距离视口左侧的距离
  • bottom:元素底部距离视口顶部的距离

2.坐标属性

  1. screen屏幕坐标
  • screenX、screenY(鼠标事件位置)
  • screen.width、screen.height(屏幕分辨率)
  1. client视口坐标
  • clientX、clientY (鼠标事件位置)
  • element.clientWidth、element.clientheight(元素的尺寸包含padding)
  1. page文档坐标
  • pageX、pageY(鼠标事件位置)
  • document.documentElement.scrollHeight(文档总高度)

3.元素滚动

4.浏览器视口

  1. inner
  • window.innerWidth 获取浏览器窗口视口的宽,包含滚动条
  • window.innerHeight获取浏览器窗口视口的高度,包含滚动条
  1. client
  • 可以用于元素与document
  1. outer
  • 不能用于元素只能用于window
  • window.outerWidth
  • window.outerHeight
  1. screen
  • screen.width用户显示屏幕的物理宽度
  • screen.height用户显示屏幕的物理高度
  • 不能用于元素

5.页面尺寸事件

  1. resize resize事件在浏览器窗口大小改变时触发(包括最大化/最小化/拖动边缘)

6.定时器

  1. setTimeout 设置一个定时器
  2. clearTimeout()清除定时器

7.改变this指向

  1. call func.call(thisArg, arg1, arg2, ...)
  2. apply func.apply(thisArg, [argsArray])
  3. bind const newFunc = func.bind(thisArg, arg1, arg2, ...) newFunc()

8.location

  1. url 统一资源定位符 格式:protocol://host[:port]/path/[?query]#fragment
  2. 属性
  • href 完整url读写
  • protocol 协议(带: 例:https: 读写)
  • host 主机名+端口(读写)
  • hostname 主机名(读写)
  • port 端口号(读写)
  • pathname 路径(以/开头,读写)
  • search 查询参数 (以?开头,读写)
  • hash 锚点 (以#开头,读写)
  • origin 源(协议+主机+端口,只读)
  1. 方法
  • assign()跳转到新的url在浏览器中新增记录
  • replace(url) 替换当前页面 不新增历史记录,无法后退
  • reload(force) 重新加载页面(force=true强制从服务器获取,忽略缓存)

9.navigator

  1. 用户代理:navigator.userAgent
  2. 检查是否在线:navigator.onLine ? "在线" : "离线"
  3. 获取地理位置:维度:navigator.onLine ? "在线" : "离线"、经度: position.coords.longitude

10.history

  1. back() 后退至前一个网站
  2. forward() 前进到下一个网站
  3. go() 接受一个整数作为参数,以当前网址为基准,移动到参数指定的网址
相关推荐
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人1 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang2 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家2 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
前端摸鱼匠3 小时前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker4 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
donecoding5 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马5 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren5 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川5 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端