获取与设置transform值的封装函数——cssTransform(el,attr,val)
来源:互联网 发布:网络十大恐怖歌曲 编辑:程序博客网 时间:2024/06/07 01:00
获取与设置transform值的封装函数——cssTransform(el,attr,val)
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>获取与设置transform值的封装函数</title> <!-- 需要掌握的知识点: 1、用本函数获取transform值的前提是transform值首先是通过本函数设置的, 不能是直接写在CSS中的transform值,因为css中直接获取的值为一个matrix矩阵。 --> <style> #box{ width: 300px; height: 300px; background: #000; margin: 100px auto; } </style> <script> //el:需要获取或设置transform值的元素 //attr:获取或设置的transform的属性 //val:设置的transform的属性值 function cssTransform(el,attr,val){ if(!el.tranform){//判断只在无el.tranform属性时新创建el.tranform el.tranform={}//为元素el设置一个属性,为一个空对象 } if(arguments.length>2){//判断是否有传入val,有则执行封装函数设置transform值的功能 el.tranform[attr]=val; var sVal="";//用于储存多个transform值 for( var attrs in el.tranform ){ switch(attrs){ case "rotate": case "rotateX": case "rotateY": case "rotateZ": case "rotate": case "skewX": case "skewY": sVal+=attrs+"("+el.tranform[attrs]+"deg) ";//注意此处的空格要加上 break; case "translateX": case "translateY": case "translateZ": sVal+=attrs+"("+el.tranform[attrs]+"px) ";//注意单位的变化 break; case "scale": case "scaleX": case "scaleY": sVal+=attrs+"("+el.tranform[attrs]+") ";//注意单位的变化 break; } } el.style.webkitTransform=el.style.transform=sVal; }else{//判断是否有传入val,无则执行封装函数获取transform值的功能 var val=el.tranform[attr];//获取由该函数设置的transform值的元素的获取transform值 if(typeof val == "undefined"){//如果想要获取默认值的话 if(attr=="scale" || attr=="scaleX" || attr=="scaleY"){ val=1; }else{ val=0; } } return val; } } </script> <script> window.onload=function(){ var box= document.querySelector("#box"); cssTransform(box,"translateX","200"); console.log(cssTransform(box,"translateX"));//200 console.log(cssTransform(box,"scale"));//1 console.log(cssTransform(box,"skew"));//0 } </script> </head> <body> <div id="box"></div> </body></html>
1 0
- 获取与设置transform值的封装函数——cssTransform(el,attr,val)
- jquery中val获取值,attr获取属性值和attr设置属性值
- html——attr与val、attr与prop、attr与css区别
- JQuery的attr 与 val区别
- 操纵DOM之---attr 获取与设置属性的值
- jQuery中使用attr(), prop(), val()获取value的异同
- jquery html(), text(), val() attr()三个方法的设置值
- text、html、val、attr(Jquery设置方法)
- 获取和设置transform值
- jquery textarea值的更新与获取 text() vs val()
- 详谈jQuery中使用attr(), prop(), val()获取value的异同
- jquery text()、attr()、val()的总结
- jQuery attr("value") 和 val的区别
- jquery关于val,attr的一点总结
- jQuery知识点(4)-.html() .text() .val() .attr()获取元素内容、值、属性
- JQuery中,.val()与 .attr("","");的区别,以及placeholder与value冲突
- val和attr和prop获取数据中的区别
- [JQ权威指南]第六天:使用attr获取与设置元素的属性
- 洛谷 2258
- 10.28
- (基础九)对给定的数组进行反转
- redis基本命令:一
- c++ 栈、队列、优先队列 STL
- 获取与设置transform值的封装函数——cssTransform(el,attr,val)
- js中选项卡的简单实现2
- 又来新同学
- SELinux 介绍
- 深入理解 Context
- ==和equals的区别
- MFC之消息映射机制
- POJ-1840-Eqs
- Apache主配置文件httpd.conf 详解