JavaScript-PC端网页特效
(五)PC端网页特效
[!TIP]
在前面学习了JS基础、DOM 和 BOM 的基本操作后,这部分主要学习这些知识的拓展应用。
1. 元素偏移量 offset 系列
1.1 offset 概述
offset
翻译过来就是偏移量,我们使用 offset
系列相关属性可以动态的得到该元素的位置(偏移)、大小等。
- 获得元素距离带有定位父元素的位置
- 获得元素自身的大小(宽度高度)
- 注意:返回的数值都不带单位
offset
系列常用属性:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gdZdAs3h-1653226864470)(https://cdn.jsdelivr.net/gh/Hacker-C/Picture-Bed@main/JavaScript/offset1.33r96uboi540.jpg)]
1.2 offset 与 style 区别
1.2.1 offset
offset
可以得到任意样式表中的样式值offset
系列获得的数值是没有单位的offsetWidt
h 包含padding+border+width
offsetWidth
等属性是只读属性,只能获取不能赋值- 所以,我们想要获取元素大小位置,用
offset
更合适
1.2.2 style
style
只能得到行内样式表中的样式值style.width
获得的是带有单位的字符串style.width
获得不包含padding
和border
的值style.width
是可读写属性,可以获取也可以赋值- 所以,我们想要给元素更改值,则需要用
style
改变
1.3 案例1:获取鼠标在盒子内部的坐标
1.3.1 分析
- 我们在盒子内点击,想要得到鼠标距离盒子左右的距离。
- 首先得到鼠标在页面中的坐标(e.pageX, e.pageY)
- 其次得到盒子在页面中的距离( box.offsetLeft, box.offsetTop)
- 用鼠标距离页面的坐标减去盒子在页面中的距离,得到鼠标在盒子内的坐标
- 如果想要移动一下鼠标,就要获取最新的坐标,使用鼠标移动事件mousemove
1.3.2 代码
let box = document.querySelector(".box");
box.addEventListener("mousemove", function (e) {let x = e.pageX - box.offsetLeft;let y = e.pageY - box.offsetTop;this.innerHTML = "鼠标距离盒子坐标是:(" +x + ", " + y + ")";
});
1.4 案例2:模态框拖拽
弹出框,我们也称为模态框。
- 点击弹出层,会弹出模态框,并且显示灰色半透明的遮挡层。
- 点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层。
- 鼠标放到模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动。
- 鼠标松开,可以停止拖动模态框移动。
1.4.1 分析
- 点击弹出层,模态框和遮挡层就会显示出来 display:block;
- 点击关闭按钮,模态框和遮挡层就会隐藏起来 display:none;
- 在页面中拖拽的原理:鼠标按下并且移动,之后松开鼠标
- 触发事件是鼠标按下 mousedown,鼠标移动 mousemove 鼠标松开 mouseup
- 拖拽过程: 鼠标移动过程中,获得最新的值赋值给模态框的left和top值,这样模态框可以跟着鼠标走了
- 鼠标按下触发的事件源是最上面一行,就是id 为 title
- 鼠标的坐标减去鼠标在盒子内的坐标,才是模态框真正的位置。
- 鼠标按下,我们要得到鼠标在盒子的坐标。
- 鼠标移动,就让模态框的坐标设置为:鼠标坐标减去盒子坐标即可,注意移动事件写到按下事件里面。
- 鼠标松开,就停止拖拽,就是可以让鼠标移动事件解除
1.4.2 代码
[!TIP]
我用阿里云盘分享了「模态框拖拽案例」,你可以不限速下载,链接:https://www.aliyundrive.com/s/uQHM8DpTh5F
1.5 案例2:京东放大镜
[!TIP]
代码:我用阿里云盘分享了「04-京东放大镜效果」,你可以不限速下载JavaScript-PC端网页特效相关推荐
- javaScript PC端网页特效
PC端网页特效 1. 元素偏移量 offset 系列 1.1 offset 概述 1.2 offset 与 style 区别 2. 元素可视区 client 系列 2.1 立即执行函数 2.2 loa ...
- JavaScript—— PC 端网页特效
目录 一.PC 端网页特效 1. 元素偏移量 offest 系列 1.1 offset 概述 1.2 offset 与 style 区别 案例:获取鼠标在盒子内的坐标 案例:模拟框拖拽 html cs ...
- JavaScript——PC端网页特效
目录 一.元素偏移量offset系列 1. offset概述 2. 常见属性 3. offset与style区别 案例--鼠标在盒子内坐标 案例--拖动模态框 案例--京东放大镜 二.元素可视区cli ...
- 移动端、PC端 网页特效
移动端网页特效 标题触屏事件 移动端浏览器兼容性较好,不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方.比如触屏事件 touch(也称触摸事件),A ...
- 05【JS 高级】-【PC端网页特效】元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例
04[JS 高级]-[PC端网页特效] 学习内容: 元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例 1. 元素偏移 ...
- JS PC端网页特效 (一)
2022年7月27日 周三学习记录博客 学习进度:PC端网页特效(一).学习时长:6h. 目录 PC端网页特效 1.元素偏移量 offset 系列 1.1 offset 概述 1.2 offset ...
- PC端网页特效二:mouseenter 和 mouseover 的区别、动画函数封装
目录 5.mouseenter 和 mouseover 的区别 6.动画函数封装 动画实现原理 简单动画函数封装 动画函数给不同元素记录不同定时器 缓动效果原理 动画函数多个目标值之间移动 缓动函 ...
- 【第五部分 | JS WebAPI】6:PC端网页特效与本地存储
目录 | 概述 | PC端网页特效之三大系列 1-1 elementObj . offsetXXX 属性 1-2 elementObj . style 和 offset 的区别 1-3 案例:获取鼠标 ...
- JavaScript(五)-- PC 端网页特效
目录 1. 元素偏移量 offset 系列 1.1 offset 概述 1.2 offset 与 style 区别 案例:获取鼠标在盒子内的坐标 案例分析 案例:模态框拖拽 案例分析 案例:仿京东放大 ...
- JavaScript核心-5. PC端网页特效
一.元素偏移量 offset 系列 1. offset offset 翻译过来就是偏移量, 我们使用 offset 系列相关属性可以动态的得到该元素的位置(偏移).大小等. 获得元素距离带有定位父元素 ...
最新文章
- Struts2后期(这框架目前正处于淘汰状态)
- SAP事业部内部互供
- 如何使用批处理添加网络打印机
- Hibernate懒加载
- 开源软件 许可证密钥_自由和开源软件-1中的重要许可证
- 【luogu P3627 [APIO2009]抢掠计划】 题解
- Java面试之设计模式七大原则
- ORA-01034:ORACLE not available问题的解决方法
- python源码剖析读书笔记总结_《Python源码剖析》读书笔记:内存垃圾回收
- js 对象数组追加元素
- android 设备实现定时重启(无root权限或已root)
- OpenGL编程指南(红宝书)第九版使用指南
- 01-【分析】神策系统的拆解与分析
- IMM将软件测试成熟度分为5个,软件测试成熟度模型
- wxpy将个人微信号变成微信聊天机器人
- PS中蒙版使用简单实例
- 计算机常见故障及排除方法,科学网—计算机常见故障和解决办法 - 李卓哲的博文...
- sql server技术知识
- 降维技术 (Dimensionality Reduction)
- Cy3花青素荧光染料,(CAS:146368-13-0 )
热门文章
- dell服务器卡在启动界面_戴尔最新bios设置图解 当电脑出现开机画面按F2进入
- chrome浏览器虚拟摄像头
- 计算机怎么打开隐藏的项目,展示win10系统怎么打开隐藏文件夹
- 数据结构学习——RBT(红黑树)以及实现Map和Set
- .net升级到4.0之后,出现;System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798...
- 计算机窗口是什么意思解释,Windows电脑窗口是什么?关于电脑窗口的一些基础知识...
- MATLAB直接输出棋盘格标定板
- pandas 选取指定列
- firewall添加白名单_详解firewall的规则设置与命令(白名单设置)
- 【软件工程】第一、二章总结