Cet article vous apporte principalement un exemple d'explication basé sur un mouvement uniforme (barre latérale, fondu entrant et sortant). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un œil. J'espère que cela pourra aider tout le monde.
Comment faire bouger un élément (tel que p) en JavaScript ?
Définissez le style de base et assurez-vous de positionner le p (bien sûr, vous pouvez également utiliser les changements de marge pour créer des effets de mouvement pour les éléments
<style> p { width: 100px; height: 100px; background: red; position: absolute; left: 0px; } </style>
Structure de base :
<input type="button" value="动起来"/> <p id="box"></p>
window.onload = function(){ var oBtn = document.querySelector( "input" ), oBox = document.querySelector( '#box' ); oBtn.onclick = function(){ oBox.style.left = oBox.offsetLeft + 10 + 'px'; } }
function css(obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, false)[attr]; } } window.onload = function () { var oBtn = document.querySelector("input"), oBox = document.querySelector('#box'); oBtn.onclick = function () { oBox.style.left = parseInt( css( oBox, 'left' ) ) + 10 + 'px'; } }
oBtn.onclick = function () { // alert( css( oBox, 'left' ) ); //0px alert( oBox.offsetLeft ); //0 }
oBtn.onclick = function () { setInterval( function(){ oBox.style.left = oBox.offsetLeft + 10 + 'px'; }, 1000 / 16 ); }
var timer = null; oBtn.onclick = function () { timer = setInterval( function(){ if ( oBox.offsetLeft == 500 ) { clearInterval( timer ); }else { oBox.style.left = oBox.offsetLeft + 10 + 'px'; } }, 1000 / 16 ); }
oBtn.onclick = function () { timer = setInterval( function(){ if ( oBox.offsetLeft >= 500 ) { oBox.style.left = 500 + 'px'; clearInterval( timer ); }else { oBox.style.left = oBox.offsetLeft + 7 + 'px'; } }, 1000 / 16 ); }
oBtn.onclick = function () { clearInterval( timer ); timer = setInterval( function(){ if ( oBox.offsetLeft >= 500 ) { oBox.style.left = 500 + 'px'; clearInterval( timer ); }else { oBox.style.left = oBox.offsetLeft + 7 + 'px'; } }, 1000 / 16 ); }
function animate(obj, target, speed) { clearInterval(timer); timer = setInterval(function () { if (obj.offsetLeft == target) { clearInterval(timer); } else { obj.style.left = obj.offsetLeft + speed + 'px'; } }, 30); }
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>侧边栏 - by ghostwu</title> <style> #box { width: 150px; height: 300px; background: red; position: absolute; left: -150px; top: 50px; } #box p { width: 28px; height: 100px; position: absolute; right: -28px; top: 100px; background: green; } </style> <script> window.onload = function () { var timer = null; var oBox = document.getElementById("box"); oBox.onmouseover = function () { animate(this, 0, 10); } oBox.onmouseout = function () { animate(this, -150, -10); } function animate(obj, target, speed) { clearInterval(timer); timer = setInterval(function () { if (obj.offsetLeft == target) { clearInterval(timer); } else { obj.style.left = obj.offsetLeft + speed + 'px'; } }, 30); } } </script> </head> <body> <p id="box"> <p>分享到</p> </p> </body> </html>
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>淡入淡出 - by ghostwu</title> <style> img { border: none; opacity: 0.3; filter: alpha(opacity:30); } </style> <script> window.onload = function () { var timer = null; var oImg = document.getElementById("img"); oImg.onmouseover = function(){ animate( this, 100, 10 ); } oImg.onmouseout = function(){ animate( this, 30, -10 ); } //alpha=30 --> 100 function animate(obj, target, speed) { clearInterval(timer); var cur = 0; timer = setInterval(function () { cur = css( obj, 'opacity') * 100; if( cur == target ){ clearInterval( timer ); }else { cur += speed; obj.style.opacity = cur / 100; obj.style.filter = "alpha(opacity:" + cur + ")"; } }, 30); } function css(obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, false)[attr]; } } } </script> </head> <body> <img src="./img/h4.jpg" alt="" id="img"/> </body> </html>
Comment utiliser le canevas HTML5 pour obtenir un mouvement uniforme
Utiliser js pour spécifier la taille du pas afin d'obtenir un mouvement uniforme dans une direction
Exemple de code JS pour obtenir des compétences motion_javascript uniformes
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!