获取和设置transform值
来源:互联网 发布:principle windows 编辑:程序博客网 时间:2024/06/12 01:16
一个前辈写的设置css样式的方法,可以获取和设置transform的值,我稍微修改了一下
获取的时候只要传两个参数,像是下面这样
icss($("div"),"translateY");
设置的时候传三个参数
icss($("div"),"translateY","100px");
function icss(obj, attr, value){ if(obj[0]){ obj=obj[0]; }; if(arguments.length==2){ if(attr=='scale'|| attr=='rotate'|| attr=='rotateX'||attr=='rotateY'||attr=='scaleX'||attr=='scaleY'||attr=='translateY'||attr=='translateX'||attr=='translateZ') { if(! obj.$Transform) { obj.$Transform={}; } switch(attr) { case 'scale': case 'scaleX': case 'scaleY': return typeof(obj.$Transform[attr])=='number'?obj.$Transform[attr]:100; break; case 'translateY': case 'translateX': case 'translateZ': return obj.$Transform[attr]?obj.$Transform[attr]:0; break; default: return obj.$Transform[attr]?obj.$Transform[attr]:0; } } var sCur=obj.currentStyle?obj.currentStyle[attr]:document.defaultView.getComputedStyle(obj, false)[attr]; if(attr=='opacity'){ return Math.round((parseFloat(sCur)*100)); } else{ return parseInt(sCur); } } else if(arguments.length==3) { switch(attr){ case 'scale': case 'scaleX': case 'scaleY': case 'rotate': case 'rotateX': case 'rotateY': case 'translateY': case 'translateX': case 'translateZ': setCss3(obj, attr, value); break; case 'width': case 'height': case 'paddingLeft': case 'paddingTop': case 'paddingRight': case 'paddingBottom': value=Math.max(value,0); case 'left': case 'top': case 'marginLeft': case 'marginTop': case 'marginRight': case 'marginBottom': if(typeof value=="string") { obj.style[attr]=value; } else { obj.style[attr]=value+'px'; } break; case 'opacity': obj.style.filter="alpha(opacity:"+value+")"; obj.style.opacity=value/100; break; default: obj.style[attr]=value; } }}function setCss3(obj, attr, value){ var sTr=""; var sVal=""; var arr=["Webkit","Moz","O","ms",""]; if(! obj["$Transform"]) { obj["$Transform"]={}; } obj["$Transform"][attr]=parseInt(value); for( sTr in obj["$Transform"]) { switch(sTr) { case 'scale': case 'scaleX': case 'scaleY': sVal+=sTr+"("+(obj["$Transform"][sTr]/100)+") "; break; case 'rotate': case 'rotateX': case 'rotateY': sVal+=sTr+"("+(obj["$Transform"][sTr])+"deg) "; break; case 'translateY': case 'translateX': case 'translateZ': sVal+=sTr+"("+(obj["$Transform"][sTr])+"px) "; break; } } for(var i=0;i<arr.length;i++) { obj.style[arr[i]+"Transform"]=sVal; } }
0 0
- 获取和设置transform值
- unity3d transform基本属性获取和设置
- 获取与设置transform值的封装函数——cssTransform(el,attr,val)
- 反射设置和获取值
- Unity 根据Transform、GameObject和Tag获取子对象集合
- transform rotate获取方法
- 设置和获取html、文本和值
- jQuery中设置transform
- 踩坑--关于jq和zepto的css方法对transform的值的获取值的不同
- Unity3D 获取与设置对象Transform组件下的position,rotation
- Unity3D 获取与设置对象Transform组件下的position,rotation
- Unity3D 获取与设置对象Transform组件下的position,rotation
- webbrowser获取和设置变量的值
- jquery设置和获取html,文本,值
- webbrowser获取和设置变量的值
- jquery获取和设置radio的值
- c#通过反射设置和获取值
- 获取和设置asp:RadioButtonList的值
- 组合数取模(待补充)
- BC-【Kblack loves flag】
- opencv计算机视觉学习笔记七
- Android 反编译初探 应用是如何被注入广告的
- opencv计算机视觉学习笔记八
- 获取和设置transform值
- ccf 画图
- Linux 中必须要了解的命令操作
- 软件测试基础题目
- 461. Hamming Distance
- ubuntu16.10+cuda8.0+gtx1080
- STM32 按键实验
- 如何在 Linux 中查找一个文件
- Checkbox复用导致错乱