封装一个简单的原生匀速动画函数

/*** 匀速动画函数* @param {位移的元素} elm * @param {位移的目标位置} target */
function moveAnimation(elm, target) {clearInterval(elm.timeID);let position = elm.offsetLeft;let step = (target - position) > 0 ? 10 : -10;elm.timeID = setInterval(function () {position += step;if (Math.abs(target - position) > Math.abs(step)) {elm.style.left = position + 'px';} else {elm.style.left = target + 'px';clearInterval(elm.timeID);}}, 10)
}

缓动动画函数

/*** 缓动动画函数* @param {位移元素} elm * @param {位移目标} target */
function slowAnimation(elm, target) {clearInterval(elm.timeID);let position = elm.offsetLeft;elm.timeID = setInterval(function () {let step = position > target ? Math.floor((target - position) / 10) : Math.ceil((target - position) / 10);position += step;elm.style.left = position + 'px';if (target == position) {clearInterval(elm.timeID);}}, 20)
}

JS原生封装动画函数相关推荐

  1. JS原生封装时间函数 日期格式过滤

    函数封装- 日期格式过滤 function format(time) {if(!time) time = new Date();let date = new Date(time);let y = da ...

  2. javascript中BOM介绍、屏幕尺寸、历史记录、URL解析、计算机信息获取、定时器、三大系列及兼容代码、封装动画函数、同步和异步

    BOM介绍: BOM指的是浏览器对象模型,是用来操作浏览器的,例如浏览器弹窗.地址栏.滚动条等,浏览器顶级对象:window:页面中的所有内容都是属于window的,window可以省略:confir ...

  3. animate用法 js原生_animate动画、原生JS实现轮播图

    写在前面 最近在写项目的时候,才发现自己对css3这部分的内容已经生疏了,复习css3的时候,看到animate属性,就用其写了个焦点轮播图,当然自己也用原生JS码了个,当然css3动画无疑是锦上添花 ...

  4. js原生封装Ajax

    注意:1.服务端的返回会自动判断你的数据类型并且生成一个头部. 2.字符串函数,判断字符串中含有某子字符串 3.对象覆盖,沃日这也太草了,有就覆盖,没有就添加 4.首先是前端:使用ajax发送get请 ...

  5. 基于JS原生封装POST、GET请求,解决onreadystatechange=2不执行问题

    // 常用工具函数 var tools = {ajaxGet: function (url, query, succCb, failCb, isJson) {if (query) {var parms ...

  6. PC端网页特效二:mouseenter 和 mouseover 的区别、动画函数封装

      目录 5.mouseenter 和 mouseover 的区别 6.动画函数封装 动画实现原理 简单动画函数封装 动画函数给不同元素记录不同定时器 缓动效果原理 动画函数多个目标值之间移动 缓动函 ...

  7. 原生js判断css动画结束 css 动画结束的回调函数

    原文:原生js判断css动画结束 css 动画结束的回调函数 css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,Jav ...

  8. 05【JS 高级】-【PC端网页特效】元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例

    04[JS 高级]-[PC端网页特效] 学习内容: 元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例 1. 元素偏移 ...

  9. 移动端 transition动画函数的封装(仿Zepto)以及 requestAnimationFrame动画函数封装(仿jQuery)...

    移动端 css3 transition 动画 ,requestAnimationFrame 动画  对于性能的要求,h5优先考虑: 移动端 单页有时候 制作只用到简单的css3动画即可,我们封装一下, ...

最新文章

  1. Oracle(order by)
  2. OpenWRT的ROM固件内置软件包修改与定制
  3. [Ubuntu] 启动gvim时,怎样设置一个项目的文件为打开状态
  4. shell学习之常用命令总结
  5. 民用建筑工程给水排水设计深度图样_「安装工程识图」建筑给水排水施工图的识读方法...
  6. mysql html 转义_HTML/Mysql/XML 转义字符,备查
  7. Nginx Learning (1)
  8. 交通运输部:预计五一假期全国客运量2.65亿人次
  9. 安卓手机状态栏显示秒_如何让状态栏时间精确到秒显示
  10. 购买计算机键盘,键盘安装步骤是怎样的 怎样选购电脑键盘
  11. SSD:单点多边界框探测器
  12. 微信公众号系列之测试号使用
  13. Java实现 LeetCode 275 H指数 II
  14. jQWidgets的TreeGrid 心得:
  15. 关于国密HTTPS的那些事(一)
  16. http文件上传到web服务器,上传到ftp服务器
  17. binlog_do_db 与 binlog_ignore_db
  18. Android6.0boot解锁,Lenovo手机fastboot命令 解锁Bootloade 教程
  19. 【北京迅为】i.MX6ULL终结者GPIO时钟
  20. ArcGIS地图数据资源

热门文章

  1. 《数据库SQL实战》找出所有员工当前薪水salary情况
  2. InnoDB索引原理详解
  3. Scala Hbase 问题汇总
  4. 用户特征工程详细解读
  5. Hystrix 资料简单梳理
  6. 【转】python中的对象拷贝
  7. 使用Bootstrap制作导航栏
  8. CSS魔法堂:深入理解line-height和vertical-align
  9. [安卓] 7、页面跳转和Intent简单用法
  10. CI在mimes.php添加对apk文件上传下载的支持