L'exemple de cet article décrit comment obtenir un effet de dégradé de transparence dans js. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Ici, vous pouvez vous rendre compte que la transparence de l'élément est de 30 au début. Lorsque la souris est déplacée, la transparence augmente lentement et s'arrête lorsque la transparence atteint 100. Au fur et à mesure que la souris s'éloigne, la transparence diminue lentement jusqu'à 30.
Point 1 : Comme la valeur de transparence ne peut pas être obtenue et modifiée directement, vous pouvez attribuer la valeur de transparence à une variable, laisser la variable changer et enfin attribuer la valeur de la variable à la valeur de transparence de l'élément.
var alpha=30;
Point 2 : jugez la valeur cible et la valeur de transparence actuelle pour déterminer s'il s'agit d'une vitesse positive ou d'une vitesse négative.
if(target > alpha){ speed = 2; }else{ speed = -2; }
Point 3 : Si la valeur de transparence atteint la valeur cible, éteignez la minuterie, sinon la valeur de transparence continuera à changer. Enfin, la valeur est attribuée à l'élément. La transparence présentant des problèmes de compatibilité, deux méthodes d'écriture sont requises.
if(alpha == target){ clearInterval(timer); } else{ alpha = alpha + speed; run.style.filter = 'alpha(opacity='+alpha+')'; run.style.opacity = alpha/100; document.title = alpha; }
Enfin, ajoutez le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>无标题文档</title> <style> body{margin:0; padding:0;} #run{width:100px; height:100px; background:#06c; position:absolute; border:1px solid #000; opacity:0.3; filter:alpha(opacity=30);} </style> <script> window.onload = function(){ var run = document.getElementById("run"); var btn = document.getElementById("btn"); var speed = 1; var timer = null; var alpha=30; run.onmouseover = function(){ startrun(100); } run.onmouseout = function(){ startrun(30); } function startrun(target){ clearInterval(timer); timer = setInterval(function(){ if(target > alpha){ speed = 2; }else{ speed = -2; } if(alpha == target){ clearInterval(timer); } else{ alpha = alpha + speed; run.style.filter = 'alpha(opacity='+alpha+')'; run.style.opacity = alpha/100; document.title = alpha; } },30) } } </script> </head> <body> <div id="run"></div> </body> </html>
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.