


méthode js pour obtenir des effets d'animation similaires à l'animation dans les compétences jquery_javascript
May 16, 2016 pm 04:05 PML'exemple de cet article décrit comment js peut obtenir des effets d'animation similaires à l'animation dans jquery. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Cet exemple peut obtenir l'effet de déplacer la souris vers le haut, de changer d'abord la largeur, puis de changer la hauteur, et enfin de changer la transparence, de déplacer la souris vers l'extérieur, puis de revenir en arrière.
Point 1 :
startrun(obj,attr,target,fn) box.onmouseover = function(){ startrun(box,"width",200,function(){ startrun(box,"height",200,function(){ startrun(box,"opacity","100") }); }); }
Comme ci-dessus, les fonctions peuvent également être utilisées comme paramètres, ce qui peut avoir pour effet d'exécuter d'abord une action, puis d'exécuter une action.
Point 2 :
if(cur == target){ clearInterval(obj.timer); if(fn){ fn(); } }
Lorsque le mouvement atteint le point cible, éteignez la minuterie, puis vous pourrez exécuter la nouvelle fonction.
Enfin, ajoutez le code :
<!DOCTYPE html> <html> <head> <meta charset="gb2312" /> <title>无标题文档</title> <style> <!-- body{margin:0; padding:0; font:12px/1.5 arial;} #box{width:100px; height:100px; position:absolute; background:#06c; left:0;filter:alpha(opacity=30); opacity:0.3;} --> </style> <script> <!-- function getstyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; }else{ return getComputedStyle(obj,false)[name]; } } window.onload = function(){ var box = document.getElementById("box"); box.onmouseover = function(){ startrun(box,"width",200,function(){ startrun(box,"height",200,function(){ startrun(box,"opacity","100") }); }); } box.onmouseout = function(){ startrun(box,"height",100,function(){ startrun(box,"width",100,function(){ startrun(box,"opacity","30"); }); }); } } function startrun(obj,attr,target,fn){ clearInterval(obj.timer); obj.timer = setInterval(function(){ var cur = 0; if(attr == "opacity"){ cur = Math.round(parseFloat(getstyle(obj,attr))*100); }else{ cur = parseInt(getstyle(obj,attr)); } var speed = (target-cur)/8; speed = speed>0?Math.ceil(speed):Math.floor(speed); if(cur == target){ clearInterval(obj.timer); if(fn){ fn(); } }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) } //--> </script> </head> <body> <div id="box"> </div> </body> </html>
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS

Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide

Comment utiliser la méthode de requête PUT dans jQuery ?

Comment supprimer l'attribut height d'un élément avec jQuery ?

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page

Utilisez jQuery pour modifier le contenu textuel de toutes les balises
