(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的属性和属性值)的更多相关文章

  1. 封装cookie的设置和获取

    cookie的设置 function setCookie(key,value,options){ options=options||{}; var time=""; if(opti ...

  2. 设置或者获取CheckboxList控件的选中值

    1.设置CheckBoxList选中的值 /// <summary> /// 设置CheckBoxList中哪些是选中了的 /// </summary> /// <par ...

  3. Java设置以及获取JavaBean私有属性进阶

    在上一篇博客中讲到使用Java提供的原生API设置以及获取一个JavaBean的私有属性. 但是使用Java的原生API过于复杂,有没有更加简单的方法呢?答案是肯定的.下面介绍一个开元工具包来非常方便 ...

  4. C#中获取DataTable某一列的值转换为集合

    直接使用 //Linqvar l1 = (from d in dt.AsEnumerable() select d.Field<int>("ID")).ToList() ...

  5. 【NX二次开发】获取指定矩阵标识的矩阵值

    函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...

  6. jquery 设置 transform/translate 获取 transform/translate 的值

    //获取 transform 值 var reg=/matrix.(((-)?([0-9]+.)?\d+([, ]+)?){6})./g; var str= progressUI.css(" ...

  7. Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据

    当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...

  8. sklearn中各算法类的fit,fit_transform和transform函数

    在使用PCA和NFC中有三个函数fit,fit_transform,transform区分不清各自的功能.通过测试,勉强了解各自的不同,在这里做一些笔记. 1.fit_transform是fit和tr ...

  9. c++中transform()函数和find()函数的使用方法。

    1.transform函数的使用 transform在指定的范围内应用于给定的操作,并将结果存储在指定的另一个范围内.transform函数包含在<algorithm>头文件中. 以下是s ...

随机推荐

  1. C语言中一个字符对应一个ascii码;占一个1个字节8个二进制位;存到内存中也是用ascii的十进制的二进制表示

    /** 只读变量和常量 const 只读 const int a; int const a;//同上面的代码行是等价的,都表示一个常整形数. int *const a;//const具有"左 ...

  2. Ural1297 最长回文子串(后缀数组+RMQ)

    /* 源程序丢失QWQ. 就不粘代码了. 大体做法是把串反转然后连接. 做一遍后缀数组. 对height做一遍rmq. 然后对于每个位置的奇偶分别判断, 记下pos. 注意求的是[l+1,r]的hei ...

  3. biiset用法

    C++ bitset--高端压位卡常题必备STL 以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力. bitset存储二进制数位. bitset就像一个bool类型的数组一样,但是有 ...

  4. 10分钟用Python告诉你两个机器人聊天能聊出什么火花

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 现在不是讲各种各样的人工智能嘛,AI下棋,AI客服,AI玩家--其实我一直很好奇,两个AI碰上会怎样,比如一起下棋,一起打游戏-- 今天做个 ...

  5. UOJ#299. 【CTSC2017】游戏 线段树 概率期望 矩阵

    原文链接www.cnblogs.com/zhouzhendong/p/UOJ299.html 前言 不会概率题的菜鸡博主做了一道概率题. 写完发现运行效率榜上的人都没有用心卡常数——矩阵怎么可以用数组 ...

  6. php 数组插入元素

    <?php $a=array("red","green"); array_push($a,"blue","yellow&qu ...

  7. 自动化部署--Jenkins

    自动化部署--Jenkins--简介安装(一) https://www.jianshu.com/p/b9ce206139f1 自动化部署--Jenkins--Maven构建(二)  https://w ...

  8. js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件

    如果想用fullcalendar实现排班功能,或者日历.日程功能.那么只需要简单的几步: 这里先挂官网链接: fullcalendar fullcalendar官网下载链接 一.下载及简单配置 1.这 ...

  9. iOS开发之如何在用户删除应用后保持一些数据

    在开发过程中我们有时候在用户删除时候保存一些信息在用户下次安装应用时候使用,这个时候我们可以使用剪切版UIPasteboard的FindUIPasteboard和钥匙串keychain的使用 剪切版剪 ...

  10. PHP如何解决网站大流量与高并发的问题(一)

    高并发的相关概念 在某个时间点,有多少个访问量 如果一个系统的日PV在千万以上,有可能是一个高并发的系统 QPS: 每秒钟请求或者查询的数量,在互联网领域,指每秒相应请求数(指HTTP请求) 吞吐量: ...