// 5. 注意此元素需要添加定位, 才能使用element.style.left
var div = document.querySelector(‘div’);
var timer = setInterval(function() {
if (div.offsetLeft >= 400) {
// 停止动画 本质是停止定时器
clearInterval(timer);
}
div.style.left = div.offsetLeft + 1 + ‘px’;
}, 30);
– 注意函数需要传递2个参数
-
动画对象
-
移动到的距离
夏雨荷
-
如果多个元素都使用这个动画函数,每次都要var 声明定时器,我们可以给不同的元素使用不同的定时器(自己专门用自己的定时器)
-
核心原理:利用JS是一门动态语言,可以很方便的给当前对象添加属性
点击夏雨荷才走
夏雨荷
– 缓动动画就是让元素运动速度有所变化,最常见的是让速度慢慢停下来
思路:
-
让盒子每次移动的距离慢慢变小,速度就会慢慢落下来
-
核心算法:(目标值 - 现在的位置)/ 10 作为每次移动的距离 步长
-
停止的条件:让当前盒子位置等于目标位置就停止定时器
-
注意步长值需要取整
点击夏雨荷才走
夏雨荷
-
匀速动画 就是 盒子是当前的位置 + 固定的值 10
-
缓动动画就是 盒子当前的位置 + 变化的值(目标值 - 现在的位置) / 10)
点击夏雨荷到500
点击夏雨荷到800
夏雨荷
回调函数原理:
-
函数可以作为一个参数,将这个函数作为参数传到另一个函数里面
-
当那个函数执行完之后,再执行传进去的这个函数,这个过程就叫做回调
-
回调函数写的位置:定时器结束的位置
点击夏雨荷到500
点击夏雨荷到800
夏雨荷
-
新建一个JS文件:
animate.js
-
HTML文件引入JS文件
========================================================================
– 本地存储特性:
-
数据存储在用户浏览器中
-
设置、读取方便、甚至页面刷新不丢失数据
-
容量较大、sessionStrorage 约5M,localStrage约20M
-
只能存储字符串,可以讲对象JSON。stringfy()编码后存储
-
生命周期为关闭浏览器窗口
-
在同一个窗口(页面)下数据可以共享
-
以键值对的形式存储使用
- 存储数据
sessionStorage.setItem(key,value)
- 获取数据
sessionStorage.getItem(key)
- 删除数据
sessionStorage.removeItem(key)
- 删除所有数据
sessionStorage.clear()
存储数据
获取数据
删除数据
清空所有数据
-
声明周期永久生效,除非手动删除,否则关闭页面也会存在
-
可以多窗口(页面)共享(同一浏览器可以共享)
-
以键值对的形式存储使用
-
存储数据:
localStorage.setltem(key,value)
- 获取数据:
localStorage.getltem(key)
- 删除数据:
localStorage.removeltem(key)
- 删除所有数据:
localStorage.clear()
存储数据
获取数据
删除数据
清空所有数据