js 缓动框架封装
来源:互联网 发布:cms html5模板 编辑:程序博客网 时间:2024/06/05 21:17
/** * 能够将 任意对象的任意属性改变到任意值(添加了回调函数,在执行完整个动画之后会执行回调函数)添加了透明度和层级 * @param obj * @param json * @param fn */function animate(obj, json, fn) { clearInterval(obj.timer); obj.timer = setInterval(function () { var flag = true; for (var k in json) { if (k === "opacity") { //opacity 是小数 var leader = getStyle(obj, k) * 100;//opacity不需要也不能给默认值 var target = json[k] * 100; var step = (target - leader) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step); leader = leader + step; obj.style[k] = leader / 100;//opacity没有单位 } else if (k === "zIndex") { obj.style.zIndex = json[k];//如果是层级就直接设置到目标值 } else { var leader = parseInt(getStyle(obj, k)) || 0; var target = json[k]; var step = (target - leader) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step); leader = leader + step; obj.style[k] = leader + "px"; } if (leader !== target) { flag = false; } } if (flag) { clearInterval(obj.timer); if (fn) { fn(); } } }, 15);}/** * 获取经过计算后对象的属性,不管行内还是外联都可以获取到 * @param obj * @param attr * @returns {*} */function getStyle(obj,attr){ if(window.getComputedStyle){ return window.getComputedStyle(obj)[attr]; }else{ return obj.currentStyle[attr]; }}
0 0
- js 缓动框架封装
- JS封装一个缓动运动框架
- 封装缓动框架
- JS封装缓动动画函数
- js 匀速/缓动动画 简单封装
- js缓动动画函数封装
- js缓动动画及其封装
- js-匀速/缓动动画-简单封装
- JS —— 轮播图中的缓动函数的封装
- 封装缓动动画函数
- 缓动框架
- JS缓动效果
- js框架 - 封装获取元素
- 封装运动框架-纯js
- 缓动动画原理--封装基本函数
- JavaScript封装缓动动画函数
- JS完美运动框架的封装过程
- 用原生js封装运动框架
- linux socket编程之TCP与UDP
- windows下如何在一台机器上安装两个MYSQL数据库
- Celery 学习笔记(2)- 定时任务
- sk_buff详细介绍
- 开发者最常用的 8 款 Sublime text 3 插件
- js 缓动框架封装
- return 局部变量合法,函数返回值的生命周期
- Python练习实例15
- LeetCode 366. Find Leaves of Binary Tree
- Http Status 304响应状态的资源更新机制
- 同源&跨域(jsonp原理 / jQuery 的 jsonp)
- Git使用简述
- BZOJ 3130 [Sdoi2013] 费用流
- 职场攻略