封装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 ...
随机推荐
- 洛谷 P1638 逛画展 题解
P1638 逛画展 题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字, ...
- (2)Angular的开发
什么是 ReactNative应用, 小程序与RN的关系 native端优化 Js端优化 ReactNative是? 用JavaScript来写App,性能好 异步编程 请点赞!因为你的鼓励是我写作的 ...
- ehcache 配置说明
- Leetcode84. 柱状图中最大的矩形(单调栈)
84. 柱状图中最大的矩形 前置 单调栈 做法 连续区间组成的矩形,是看最短的那一块,求出每一块左边第一个小于其高度的位置,右边也同理,此块作为最短限制.需要两次单调栈 单调栈维护递增区间,每次不满足 ...
- STP生成树详解图
- Windowns下code: command not found
错误信息:code: command not found’ 解决办法:配置VsCode环境变量 首先找到VsCode点击其属性,查看路径 进入这个路径后 将D:\Program Files\Micro ...
- Spark(五十一):Spark On YARN(Yarn-Cluster模式)启动流程源码分析(二)
上篇<Spark(四十九):Spark On YARN启动流程源码分析(一)>我们讲到启动SparkContext初始化,ApplicationMaster启动资源中,讲解的内容明显不完整 ...
- DNS 预读取功能 链接预取
https://developer.mozilla.org/zh-CN/docs/Controlling_DNS_prefetching DNS 请求需要的带宽非常小,但是延迟却有点高,这一点在手机网 ...
- for(auto i : v)遍历容器元素
c++11的新特性,v是一个可遍历的容器或流,比如vector类型,i就用来在遍历过程中获得容器里的每一个元素. for(auto i:v) for(auto &i:v) 代码1:#inclu ...
- [转]eclipse常用设置
原文:https://www.cnblogs.com/wangmingshun/p/5675857.html Eclipse重新设置workspace Window—>Preferences—& ...