封装transform函数(设置和获取transform的属性和属性值)
(function (w) {
/**
* 设置或者获取元素的transform属性值
* @param node 要设置的元素
* @param param 变换属性: translate\scale\rotate....
* @param value 变换属性的值 (可选) 如果指定了,设置;没有指定,获取;
*/
function transformCss(node, param, value) {
//如果第一次设置元素
if (node.transformData === undefined) {
//给元素添加一个属性,用来保存元素的transform设置
node.transformData = {};
}
if (arguments.length === 3) {
//设置 transform 属性
//把transform属性添加到 tansformData里面
node.transformData[param] = value;
//设置transform值的字符串
var transformStr = '';
//遍历 transformData
for (var i in node.transformData) {
switch (i) {
case 'translate':
case 'translateX':
case 'translateY':
transformStr += i+'('+node.transformData[i]+'px) ';
break;
case 'scale':
case 'scaleX':
case 'scaleY':
transformStr += i+'('+node.transformData[i]+') ';
break;
case 'rotate':
case 'skew':
case 'skewX':
case 'skewY':
transformStr += i+'('+node.transformData[i]+'deg) ';
break;
}
//设置css样式
node.style.transform = transformStr;
}
} else if (arguments.length === 2) {
//获取transform属性值
//根据参数从trnasformData获取
var result = node.transformData[param];
//如果transformData没有,取默认值
if (result === undefined) {
if (param === 'scale' || param === 'scaleX' || param === 'scaleY') {
result = 1;
} else {
result = 0;
}
}
//把结果返回
return result;
}
}
//暴露
w.transformCss = transformCss;
})(window);
封装transform函数(设置和获取transform的属性和属性值)的更多相关文章
- 封装cookie的设置和获取
cookie的设置 function setCookie(key,value,options){ options=options||{}; var time=""; if(opti ...
- 设置或者获取CheckboxList控件的选中值
1.设置CheckBoxList选中的值 /// <summary> /// 设置CheckBoxList中哪些是选中了的 /// </summary> /// <par ...
- Java设置以及获取JavaBean私有属性进阶
在上一篇博客中讲到使用Java提供的原生API设置以及获取一个JavaBean的私有属性. 但是使用Java的原生API过于复杂,有没有更加简单的方法呢?答案是肯定的.下面介绍一个开元工具包来非常方便 ...
- C#中获取DataTable某一列的值转换为集合
直接使用 //Linqvar l1 = (from d in dt.AsEnumerable() select d.Field<int>("ID")).ToList() ...
- 【NX二次开发】获取指定矩阵标识的矩阵值
函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...
- jquery 设置 transform/translate 获取 transform/translate 的值
//获取 transform 值 var reg=/matrix.(((-)?([0-9]+.)?\d+([, ]+)?){6})./g; var str= progressUI.css(" ...
- Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据
当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...
- sklearn中各算法类的fit,fit_transform和transform函数
在使用PCA和NFC中有三个函数fit,fit_transform,transform区分不清各自的功能.通过测试,勉强了解各自的不同,在这里做一些笔记. 1.fit_transform是fit和tr ...
- c++中transform()函数和find()函数的使用方法。
1.transform函数的使用 transform在指定的范围内应用于给定的操作,并将结果存储在指定的另一个范围内.transform函数包含在<algorithm>头文件中. 以下是s ...
随机推荐
- GDB十分钟教程【转载于网络爱好者】
本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者. GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调 ...
- Codevs 1482 路线统计(矩阵乘法)
1482 路线统计 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description N个节点的有向图, 求从start到finish刚好经过时 ...
- 《挑战30天C++入门极限》C++的iostream标准库介绍(1)
C++的iostream标准库介绍(1) 我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的stdio库不同 ...
- 记录一个奇怪的异常,无法还原此异常。 普通的Maven Java Web 项目
项目 : 普通的Maven Java Web 项目 操作记录: 使用 Maven 构建项目,指令 tomcat7:run 无异常 但使用 eclipse 的 tomcat 运行项目,报此异常. 后面从 ...
- python 装饰器demo
本质就是一个函数,这个函数符合闭包语法结构,可以在函数不需要改变任何代码情况下增加额外功装饰器的返回值是一个函数的引用 功能:1.引入日志:2.函数执行时间统计:3.执行函数前预备处理:4.执行函数后 ...
- 数组不能用for each ,
数组不能用for each 不能用这 for(String xkz:xkzzj){ SjshdcDTO sjshdcDTO = cpcyService.findSjshdcDTOById(xkz); ...
- Zabbix优化
参考 zabbix默认的配置即使机器128核心,256内存,只能抗住10-20台的监控,如果再多就需要修改配置了. 一.配置文件 server端配置文件添加如下 StartPollers=160 St ...
- Preventing CSRF With Ajax
https://stackoverflow.com/a/24394578/3782855 You don't need the ValidationHttpRequestWrapper solutio ...
- [转]Myeclipse之web项目的部署(发布)流程
在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:workspace目录\abc Source文件夹:src,保存所有的java类文件(.java文件)和xml文件. We ...
- Class as decorator in python
Class as decorator in python . https://www.geeksforgeeks.org/class-as-decorator-in-python/ http://co ...