动画函数封装
实现div到left=400的位置
1 | 点击按钮,让div能够移动到400的位置,到达终点,清除定时器 |
让div做多个动画
1 | 点击按钮1,让div能够移动到400的位置,到达终点,清除定时器 |
div到达终点
1 | 让div移动到96px的位置,发现元素不能移动到终点位置 |
清除多个定时器
1 | 点击元素多次,会发现元素会左右来回移动,到达不了终点。 |
短路运算
&&:短路与, 只要碰到了false,就会短路,短路后不会执行第二个表达式。
||:短路或,只要碰到了true就会短路,短路后不会执行第二个表达式。
注意:&&和||的结果不一定是布尔类型,也可以是其他的类型
||经常用来给函数设置默认值
轮播图
简单轮播图
1 | 1. 结构分析 |
左右焦点图
1 | 1.结构分析 |
无缝轮播图
1 | 1. 需要添加假图片 |
完整版轮播图
1 | 1. js动态添加小圆点 |
三大家族
offset家族
offset系列用于用于获取元素自身的大小和位置,在网页特效中有广泛应用
offset系列主要有:offsetHeight、offsetWidth、offsetParent、offsetLeft、offsetTop
offsetHeight与offsetWidth
- 获取的是元素真实的高度和宽度
- 获取到的是数值类型,方便计算
- offsetHeight与offsetWidth是只读属性,不能设置。
offsetHeight与offsetWidth的构成
offsetHeight = height + paddnig + border
offsetWidth = width + padding + border
scroll家族
scroll家族用来获取盒子内容的大小和位置
scroll家族有:scrollWidth、scrollHeight、scrollLeft、scrollTop
- scrollWidth与scrollHeight是盒子内容的真实的宽度和高度。与和盒子大小无关,仅仅与盒子的内容有关系。
- scrollTop用于获取内容垂直滚动的像素数。如果没有滚动条,那么scrollTop值是0
onscroll事件,对于有滚动条的盒子,可以使用onscroll注册滚动事件,每滚动一像素,就会触发该事件。
1 | var box = doucment.getElementById(“box”); |
获取页面被卷去的高度和宽度
通常来说,scroll家族用的最多的地方就是用来获取页面被卷去的宽度和高度,非常的常用
页面被卷去的高度和宽度
1 | window.onscroll = function() { |
client家族
client家族用于获取盒子可视区的大小
client家族有clientWidth、clientHeight、clientLeft、clientTop
clietnWidth: 获取内容和padding的大小
clientHeight:获取内容与padding的大小
clientTop与clientLeft
clientTop与clientLeft 完全没有用,他们就是borderTop与borderLeft
三大家族对比
onresize事件:onresize事件会在窗口被调整大小的时候发生。
1 | window.onresize = function(){ |
类名操作
推荐:classList是一个集合,会存储某个元素上所有的类名,使用classList来替代className操作class类
1 | //添加类 |
移动端
touch事件
移动端新增了4个与手指触摸相关的事件。
1 | // touchstart:手指放到屏幕上时触发 |
每个触摸事件被触发后,会生成一个event对象,event对象中changedTouches会记录手指滑动的信息。
1 | e.touches;// 当前屏幕上的手指 |
这些列表里的每次触摸由touch对象组成,touch对象里包含着触摸信息,主要属性如下
1 | clientX / clientY: // 触摸点相对浏览器窗口的位置 |



