<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS3 transform封装</title>
<style>
* {
margin: ;
padding:
}
#box{
width: 200px;
height: 200px;
background: purple;
}
</style>
</head>
<body>
<div id="box"></div> <script>
// 2个参数 是获取属性值
// 3个参数 是设置属性值
// 前提 想要获取 必须先用此函数设置值 cssTransform(box,'rotate',);
cssTransform(box,'translate',);
cssTransform(box,'translate',); // 初始化
console.log(cssTransform(box, 'translate')); function cssTransform( obj,attr,val ) {
if( !obj.transform ){
obj.transform = {};
}
if( arguments.length === ){ // 设置
obj.transform[attr] = val;
var str = '';
for( var key in obj.transform ){
switch ( key ){
case 'rotate':
case 'rotateX':
case 'rotateY':
str += key + '('+obj.transform[key]+'deg) ';
break;
case 'translate':
case 'translateX':
case 'translateY':
str += key + '('+obj.transform[key]+'px) ';
break;
case 'scale':
case 'scaleX':
case 'scaleY':
str += key + '('+obj.transform[key]+') ';
break;
}
obj.style.transform = str;
}
}else{ //获取值
val = obj.transform[attr];
if( typeof val === 'undefined'){
if( attr === 'scale' || attr === 'scaleX' || attr === 'scaleY' ){
val =
}else{
val=
}
}
return val;
} }
</script>
</body>
</html>

最新文章

  1. 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO
  2. ACdream 1128 Maze(费用流)
  3. Hibernate Cascade &amp; Inverse
  4. linux下如何安装rzsz
  5. web推送
  6. Python 基础 (单、双引号区别) 不断补充
  7. hack查询地址
  8. Linux显示一个二进制文件或可执行文件的完整路径
  9. 关于NOIP2018复赛若干巧合的声明
  10. P2365 任务安排 / [FJOI2019]batch(斜率优化dp)
  11. 搭建 Node.js 环境
  12. php实现session入库
  13. P4438 [HNOI/AHOI2018]道路
  14. 第一百四十七节,封装库--JavaScript,滑动导航
  15. 「HNOI2013」切糕
  16. vue-awesome-swiper 的 使用
  17. StampedLock原理
  18. [Bzoj1034][ZJOI2008]泡泡堂BNB(贪心)
  19. 让 webpack 加载 Source Map
  20. 自己动手开发IOC容器

热门文章

  1. Linux系统安装jdk——rpm版
  2. 手动创建MySQL服务
  3. SpringBoot(18)---通过Lua脚本批量插入数据到Redis布隆过滤器
  4. JQuery第一章js 上机+课后
  5. RobotFramework_1.简介和安装
  6. 如何把一个jar包导入到eclipse中
  7. Charles PC端和手机端抓取HTTP和HTTPS协议请求、HTTPS通用抓包规则
  8. windows server 2008 R2中建立ftp站点
  9. Zabbix在 windows下监控网卡
  10. koa2图片上传成功后返回服务器地址,实时显示服务器图片