Maison >interface Web >js tutoriel >Code d'effet de feu d'artifice étoile à cinq branches JS basé sur les compétences de la technologie VML_javascript
L'exemple de cet article décrit le code d'effet de feu d'artifice en étoile à cinq branches implémenté par JS basé sur la technologie VML. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Les feux d'artifice en forme d'étoile à cinq branches présentés ici sont écrits et implémentés conjointement sur la base de la technologie HTML js VML. Lorsque vous ouvrez la page, vous pouvez voir l'effet de floraison du feu d'artifice. Le symbole de l'étoile à cinq branches peut être remplacé par d'autres symboles. Cet effet peut être facilement modifié en un effet spécial de décollage et d'explosion de feux d'artifice, mais vous devez créer un petit GIF du feu d'artifice à l'avance, puis remplacer l'étoile à cinq branches.
La capture d'écran de l'effet en cours d'exécution est la suivante :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/js-vml-wjx-style-demo/
Le code spécifique est le suivant :
<HTML> <HEAD> <TITLE>五角星礼花</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> </HEAD> <BODY bgColor=#fef4d9> <CENTER> <TABLE borderColor=#00FF00 border=5 borderlight="green"> <TBODY> <TR> <TD align=middle><!--[if IE ]> <STYLE type=text/css>BODY { OVERFLOW: hidden } v\:* { BEHAVIOR: url(#default#VML) } </STYLE> <![endif]--><!--[if IE ]> <SCRIPT language=JavaScript> colors = new Array(); colors[0] = new Array('yellow', 'lime'); colors[1] = new Array('silver', 'green') colors[2] = new Array('silver', 'blue'); colors[3] = new Array('silver', 'purple'); colors[4] = new Array('purple', 'white'); colors[5] = new Array('blue', 'silver'); colors[6] = new Array('red', 'fuchsia'); colors[7] = new Array('yellow', 'red'); // Define the maximum number of fire arrows maximum = 1000; vmlobj=''; for(i = 0; i < 12; i++){ vmlobj += '<div id="ster'+i+'" style="position:absolute; left:-50px; top-50px; visibility:hidden; z-index:50;">'; vmlobj += '<v:shape style="width:15px; height:15px;" fillcolor="yellow" coordorigin="0,0" coordsize="200 200">'; vmlobj += '<v:path v="m 8,65 l 72,65, 92,11, 112,65, 174,65, 122,100, 142,155,92,121, 42,155, 60,100 x e"/>'; vmlobj += '<v:stroke on="false" /></v:shape></div>'; } document.write(vmlobj); vmlobj = null; aantal = 0; function begin() { try { if(aantal == maximum){ return;} kleurschema = Math.floor(Math.random() * colors.length); posLinks = Math.floor(Math.random() * (document.body.clientWidth - 180)); posLinks = (posLinks < 170)? 170: posLinks; posBoven = Math.floor(Math.random() * (document.body.clientHeight - 180)); posBoven = (posBoven < 170)? 170: posBoven; straal = 0; uiteen = true; teller = 1; flikkereffect = false; for(var i = 0; i < 12; i++){ document.getElementsByTagName('shape')[i].setAttribute('fillcolor', colors[kleurschema][0]); document.getElementById('ster'+i).style.visibility = 'hidden'; // 5.0 fix document.getElementById('ster'+i).style.left = posLinks; document.getElementById('ster'+i).style.top = posBoven; } document.getElementById('ster0').style.top = (document.body.clientHeight - 20); document.getElementById('ster0').style.visibility = 'visible'; omhoog(); } catch(e){} } function omhoog() { try { positie = parseInt(document.getElementById('ster0').style.top); if(positie > posBoven){ document.getElementById('ster0').style.top = (positie - 25); setTimeout('omhoog()', 50); } else { for(i = 1; i < 12; i++){ document.getElementById('ster'+i).style.top = positie; document.getElementById('ster'+i).style.visibility = 'visible'; } uiteenspatten(); } } catch(e){} } function uiteenspatten() { try { if(straal > 120 && straal % 10 == 0){ flikkereffect = true; teller = (teller == colors[kleurschema].length)? 0: (teller+1); } for(var i = 0; i < 12; i++){ var hoek = i * 30; var piHoek = Math.PI - Math.PI / 180 * hoek; var links = posLinks + Math.round(straal * Math.sin(piHoek)); var boven = positie + Math.round(straal * Math.cos(piHoek)); document.getElementById('ster'+i).style.left = links; document.getElementById('ster'+i).style.top = boven; if(flikkereffect){ document.getElementsByTagName('shape')[i].setAttribute('fillcolor', colors[kleurschema][teller]); } } if(straal < 160 && uiteen){ straal += (straal < 120)? 10: 5; setTimeout('uiteenspatten()', 50); } else if(straal > 120){ uiteen = false; straal -= 5; setTimeout('uiteenspatten()', 50); } else if(straal <= 120){ for(var i = 0; i < 12; i++){ document.getElementById('ster'+i).style.visibility = 'hidden'; } aantal++; setTimeout('begin()', 500); } } catch(e) {} } window.onload=begin; </SCRIPT> <![endif]--></TD></TR></TBODY></TABLE></CENTER> </BODY> </HTML>
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.