<script>// 缓动动画函数封装obj目标对象 target 目标位置// 思路:// 1. 让盒子每次移动的距离慢慢变小, 速度就会慢慢落下来。// 2. 核心算法:(目标值 - 现在的位置) / 10 做为每次移动的距离 步长// 3. 停止的条件是: 让当前盒子位置等于目标位置就停止定时器function animate(obj, target, callback) {// console.log(callback);  callback = function() {}  调用的时候 callback()// 先清除以前的定时器,只保留当前的一个定时器执行clearInterval(obj.timer);obj.timer = setInterval(function() {// 步长值写到定时器的里面// 把我们步长值改为整数 不要出现小数的问题// var step = Math.ceil((target - obj.offsetLeft) / 10);var step = (target - obj.offsetLeft) / 10;step = step > 0 ? Math.ceil(step) : Math.floor(step);if (obj.offsetLeft == target) {// 停止动画 本质是停止定时器clearInterval(obj.timer);// 回调函数写到定时器结束里面if (callback) {// 调用函数callback();}}// 把每次加1 这个步长值改为一个慢慢变小的值  步长公式:(目标值 - 现在的位置) / 10// 所以必须加上定位才能用,并且时相对于最靠近的有定位的父级移动obj.style.left = obj.offsetLeft + step + 'px';}, 15);}

animate.js相关推荐

  1. [vue] transition animate.js

    animate.js官网: https://animate.style/ npm install animate.css --save main.js import animated from 'an ...

  2. js实现旋转木马轮播图

    整个页面的文件结构如下图所示: html部分代码: <!DOCTYPE html> <html lang="en"> <head><met ...

  3. swiper怎么在HTML引入JS文件,Swiper.js插件超简单实现轮播图

    Swiper是纯javascript打造的滑动特效插件,面向手机.平板电脑等移动终端.能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果.超好用 话不多说,直接上教程 1.首先加载插件,需要用到 ...

  4. js(Dom+Bom)第七天(1)

    JavaScript BOM介绍 概念 BOM(Browser Object Model)即浏览器对象模型. 本质: 通过对象抽象浏览器中的一些功能 例如:(刷新页面,alert,confirm,po ...

  5. js(Dom+Bom)第五天(1)

    JavaScript BOM介绍 概念 BOM(Browser Object Model)即浏览器对象模型. 本质: 通过对象抽象浏览器中的一些功能 例如:(刷新页面,alert,confirm,po ...

  6. 品优购项目html+css+js

    品优购项目html+css+js 跟着pink老师学前端,第一个完成的项目,总共有三个页面,分别是index.html.list.html和detail.html,下面是该项目的一些总结,最后有源码呦 ...

  7. js 实现筋斗云效果(点击tab栏里面的某个地方,会有图片移动到此地方)

    js 实现筋斗云效果 animate.js <!DOCTYPE html> <html lang="en"> <head><meta ch ...

  8. JS学习之BOM | 常见网页特效 | 轮播图 | 返回顶部 | 筋斗云案例

    封校后终于回家咯给即将中考的弟弟加油鼓劲,下午还和涛哥约会但是时间太短了.继续学习吧 许个愿,让我中奖让我中奖让我中奖 常见网页特效案例 案例:网页轮播图(必须掌握) 轮播图装的图片和外面盒子一样大小 ...

  9. js+html+css筋斗云导航栏

    功能简述 图片随着鼠标位置在导航栏上变化而变化 当点击某个导航栏时,图片位置迁移到当前导航栏的位置处 效果预览 实现原理 给每个li标签添加鼠标事件 当鼠标悬浮于li标签的时候,将当前li标签的off ...

最新文章

  1. 10G DB_LINK的问题
  2. java开头流程_【java读书笔记】——java开篇宏观把控 + HelloWorld
  3. Spring-整合多个配置文件
  4. Apache FileUpload介绍
  5. python有什么用处案例_为什么大家都推荐你学python?看完这5个例子就明白了!...
  6. namespace命名空间的使用
  7. 荔枝图床阿里掘金搜狗奇虎图床源码
  8. 解决安装MarkupSafe安装 from setuptools import Feature 报错ImportError: cannot import name ‘Feature‘
  9. 网易“吃鸡”,干腾讯何事?
  10. requestparam注解_源码剖析@ApiImplicitParam对@RequestParam的required属性的侵入性
  11. PHP 5.6 已结束安全支持,你升级到 PHP 7 系列了吗?
  12. 魔兽世界 | 宏命令教程
  13. 电脑的计算机文件打开格式,如何打开zip文件_怎样在电脑上打开zip文件
  14. Scratch中设置物体的中心点
  15. 2小时完成的第一个副业单子:Python修正excel表格数据
  16. 文献笔记:Contrast-Phys: Unsupervised Video-based Remote Physiological Measurement viaSpatiotemporal Con
  17. ArchLinux中使用yaourt安装AUR上面的各种包
  18. 机器学习技术在日常生活和商业领域的应用有哪些,主要带来了什么商业收益?
  19. 深入剖析 redis 事件驱动
  20. [Erlang危机]Erlang In Danger 序言(必读)

热门文章

  1. 刷完这套微服务+多线程+源码+分布式+调优试题,年薪50w还会是问题吗
  2. DA14580外设篇之定时器和PWM
  3. 【Methodot低代码教程系列03】——零代码十分钟制作电影票房管理后台
  4. oracle rac 一体机,在Oracle10g RAC下新增ASM磁盘组
  5. Python爬虫之数据解析和提取
  6. 【Python从零到壹】Python的变量
  7. centos7.6配置网络并固定ip地址
  8. 10、弱电综合布线系统,机房系统,UPS系统知识技能资料归纳1
  9. mysql gtid 1236错误_解决mysql开启GTID主从同步出现1236错误问题
  10. [从零开始]用python制作识图翻译器·二