JavaScript 多个属性一起变化
来源:互联网 发布:人工智能的基金有哪些 编辑:程序博客网 时间:2024/06/07 05:43
<!DOCTYPE html><html><head><title>运动效果</title><meta charset="utf-8" /></head><style>div {width: 150px;height: 150px;background: aliceblue;opacity: 1;border-radius:75px;}</style><script>window.onload = function(){var oDiv = document.getElementsByTagName('div')[0];oDiv.onclick = function(){mixedAnimation(this,{"width":500,"height":500,"opacity":0.5,"border-radius":250},2000);}function mixedAnimation(obj,options,time){//记录所有的起始属性var start = [];//记录所有属性的变量量var delta = [];//循环遍历 for (var name in options) {//将所有的起始属性,保存在start[]数组中start[name] = parseFloat(getStyle(obj,name));//将所有属性的变化量,保存在delta[]数组中delta[name] = options[name] - start[name];}//计算变换的总次数(向上取整)var total = Math.ceil(time/30);//记录现在的变换次数是哪一次var count = 0;var timer = setInterval(function(){//记录 变化次数count++;for (var name in options) {//定义unitvar unit = 'px';if(name == 'opacity') {unit = '';}//如果是最后一次变化if (count == total) {obj.style[name] = options[name] + unit;} else {obj.style[name] = start[name]+delta[name]*count/total + unit;}}if (count == total){clearInterval(timer);timer = null;}},30);}function getStyle(obj, attr){if (typeof(obj.currentStyle) == 'undefined') {return getComputedStyle(obj,null)[attr];}return obj.currentStyle[attr];}}</script><body><div></div></body></html>
0 0
- JavaScript 多个属性一起变化
- 完美运动框架(多个属性值同时变化)
- javascript 监听对象属性的变化
- JavaScript 获取对象中第一个属性
- BulkLoader多个文件一起加载
- 一起安装多个depot文件
- (转) 多个同类控件一起操作
- 关于多个apk打包一起安装
- oracle多个操作语句一起执行
- 对于多个 BAPI一起commit!
- 对于多个 BAPI一起commit!
- linux 多个shell命令一起执行
- 监听多个EditText的变化
- 属性-计数器变化
- javascript之属性操作、innerHTML、判断、自增、操作多个样式的方法和不兼容的属性
- javascript变化的时钟
- Javascript监视变量变化
- 深入理解javascript描述元素内容的5个属性
- 数组操作总结(javascript)
- some basic interview question
- 基于javascript的基本数据结构和查找算法
- OkHttp的介绍及基础使用
- 多线程状态
- JavaScript 多个属性一起变化
- java 对象的序列化 要点
- cuda8.0 出错:/usr/bin/ld: 找不到 -lGL
- Android登录注册功能封装
- hibernate主键生成策略
- Windows下,文件(夹)选择/打开对话框的三种创建方式
- 算法分析与设计——Tsp(2)
- 欢迎使用CSDN-markdown编辑器
- Ubuntu 16.04安装Matlab 2016b教程