标签:
1、不同的对象调用同一个定时器情况,则需要将定时器的名称定为该对象的一个属性来进行运用。
例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #div1{ width: 100px; height: 200px; background-color: red; position: absolute; left: -100px; top: 100px; } #div2{ width: 30px; height: 60px; background-color: black; color: white; position: absolute; right: -30px; top: 70px; text-align: center; } #img1{ width: 400px; opacity: 0.3; filter: alpha(opacity=30); margin-left: 200px; } </style> </head> <script> window.onload=function () { var oDiv1 = document.getElementById(‘div1‘); var oDiv2 = document.getElementById(‘div2‘); var oImg=document.getElementById(‘img1‘); // var iTimer = null; oDiv1.onmouseover=function () { startMove(this,‘left‘,0,10); } oDiv1.onmouseout=function () { startMove(this,‘left‘,-100,-10); } oImg.onmouseover=function () { startMove(this,‘opacity‘,100,10); } oImg.onmouseout=function () { startMove(this,‘opacity‘,30,-10); } // function startMove(obj,iTarget,iSpeed) { // // clearInterval(iTimer ); // // obj.iTimer= setInterval(function () { // if (obj.offsetLeft ==iTarget) { // clearInterval(iTimer); // } else { // obj.style.left = obj.offsetLeft +iSpeed + ‘px‘; // } // }, 30); // } function startMove(obj,attr,iTarget,iSpeed) { clearInterval(obj.iTimer); var iCur=0; obj.iTimer = setInterval(function () { if(attr==‘opacity‘){ iCur=Math.round(css(obj,‘opacity‘)*100); }else { iCur=parseInt(css(obj,attr)); } if (iCur ==iTarget) { clearInterval(obj.iTimer ); } else { if(attr==‘opacity‘){ obj.style.opacity = (iCur+iSpeed)/100; obj.style.filter=‘alpha(opacity‘+(iCur+iSpeed)+‘)‘; }else { obj.style[attr]=iCur+iSpeed+‘px‘; } } }, 30); } function css(obj,attr) { if(obj.currentStyle){ return obj.currentStyle[attr]; }else { return getComputedStyle(obj,false)[attr]; } } } </script> <body> <div id="div1"> <div id="div2"> 分享到 </div> </div> <img src="5.jpg" id="img1"> </body> </html>
2、
标签:
原文地址:http://www.cnblogs.com/yuxingyoucan/p/5774414.html