CSS3 transform封装
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS3 transform封装</title> <style> * { margin: 0; padding: 0 } #box{ width: 200px; height: 200px; background: purple; } </style> </head> <body> <div id="box"></div> <script> // 2个参数 是获取属性值 // 3个参数 是设置属性值 // 前提 想要获取 必须先用此函数设置值 cssTransform(box,'rotate',30); cssTransform(box,'translate',60); cssTransform(box,'translate',0); // 初始化 console.log(cssTransform(box, 'translate')); function cssTransform( obj,attr,val ) { if( !obj.transform ){ obj.transform = {}; } if( arguments.length === 3 ){ // 设置 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 = 1 }else{ val= 0 } } return val; } } </script> </body> </html>
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现