js多物体不同运动框架(标签样式)
2018-03-19 15:34
429 查看
<style> #div1{width:50px; height: 50px;float:left;margin: 10px; background: red;border: 5px solid black;font-size: 14px; filter: alpha(opacity:30);opacity: 0.3;} </style> <!--网站中的运动框架:将不同运动封装成一个方法, (能实现的运动有变宽、变高、变字体大小、变透明度、变边框等等, 大多是给标签添加的样式,)--> <script> window.onload = function(){ var oDiv = document.getElementById("div1"); oDiv.onmouseover = function(){ startMove(this,'opacity',100); } oDiv.onmouseout = function(){ startMove(this,'opacity',30); } } // 获取当前样式 function getStyle(obj,name){ //解决获取当前样式在不同浏览器上的兼容问题 if(obj.currentStyle){ //IE7以下低版本浏览器 return obj.currentStyle[name]; }else{ //火狐谷歌等高版本浏览器 return getComputedStyle(obj,false)[name]; } } var timer =null;//创建定时器 function startMove(obj,attr,iTarget){ clearInterval(obj.timer);//清除旧定时器 obj.timer = setInterval(function (){ var cur = 0; //单独处理透明度样式->习惯处理100这样的透明度 //这个是原来的,只有宽和高啥的,没有透明度 if(attr == 'opacity'){ cur = parseFloat(getStyle(obj,attr))*100; }else{ //除透明度以外,其他样式 cur = parseInt(getStyle(obj,attr)); } //获取当期速度,并将其取整,避免不能精准到达指定位置 var speed = (iTarget - cur)/6; speed = speed>0?Math.ceil(speed):Math.floor(speed); if(cur == iTarget){ clearInterval(obj.timer);//到达位置停止定时器 }else{ if(attr == "opacity"){//改变透明度的样式 obj.style.filter = 'alpha(opacity:'+(cur+speed)+')'; obj.style.opacity = (cur+speed)/100; }else{//改变除透明度以外的其他样式 obj.style[attr] = cur+speed+'px'; } } },30); } //以上代码基本上适合所有运动,只要调用startMove方法,并给他传上参数,就能实现你想要的简单运 </script> </head> <body> <div id="div1"></div> </body>
相关文章推荐
- Js运动动画系列7--多物体运动-设置样式属性做不同的运动
- js实现多物体不同运动框架
- js实现多物体运动框架并兼容各浏览器
- JS运动之多物体框架--多个div变宽
- js完美多物体运动框架(缓冲运动)
- js多物体不同运动
- JS 触发不同ifram控件,实现刷新,关闭标签(H+框架)
- js循环输出不同样式和id的HTML标签
- 物体任意值运动框架(包括透明度)move.js
- js多物体运动框架
- js运动技术--多物体运动框架(变宽、变高、改变字体、改变border、透明度)以及替换offset的使用
- (42)JS运动之多物体框架--多个div变宽
- JS-多物体运动2(不同物体做不同的运动)
- js-完美物体运动框架
- js实现多物体运动框架并兼容各浏览器
- js-多物体运动框架
- (42)JS运动之多物体框架--多个div变宽
- js运动-完美运动框架
- js改变宽高字体大小透明度多物体模块运动
- JS实现点击按钮后框架内载入不同网页的方法