성취 효과: 마우스가 위로 움직일 때 DIV가 서서히 제거되고 마우스가 떠날 때 점차적으로 원래 위치로 복원됩니다.
코드 :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>缓冲动画</title> <style type="text/css"> body,div,span{ margin:0; padding; } #div1{ width:200px; height:200px; background:red; position:relative; left:-200px; top:0; } #div1 span{ width:20px; height:50px; background:blue; position:absolute; left:200px; top:75px; } </style> <script> window.onload = function(){ var oDiv = document.getElementById('div1'); oDiv.onmouseover = function(){ startMove(0); } oDiv.onmouseout = function(){ startMove(-200); } } var timer = null; // 参数iTarget,设置DIV移动的边界。 // 取消由 setInterval()设置的每一次触发鼠标事件。 // 设置DIV的运动。 function startMove(iTarget){ clearInterval(timer); var oDiv = document.getElementById('div1'); timer = setInterval(function(){ var speed = (iTarget - oDiv.offsetLeft)/20; speed = speed > 0?Math.ceil(speed):Math.floor(speed); if(oDiv.offsetLeft == iTarget){ clearInterval(timer); }else{ oDiv.style.left = oDiv.offsetLeft+speed+'px'; } },30) } </script> </head> <body> <div id="div1"> <span id="share">分享</span> </div> </body> </html>
위는 프론트엔드 실습--JavaScript--애니메이션(3) 내용입니다. , PHP 중국어 넷(www.php.cn)에 주목해주세요!