1. 程式人生 > >用js實現開花效果

用js實現開花效果

<html>
<head>
   <title>JavaScript實現很漂亮的開花特效 - www.unimagical.com</title>
</head>
<body>
<script language="JavaScript">
var numberofblossoms=15 //數量
var openblossomspeed=200 //速度
var showblossomstime=2  //停留時間

var i_nownumberofframes=0
var i_maxnumberofframes=5
var i_numberofblossoms=0

var marginleft=0
var margintop=0
var marginbottom
var marginright

var timer
var thisblossom

showblossomstime=showblossomstime*1000

function positionblossoms() {
 if (document.all) {  
  marginbottom=document.body.clientHeight-40
     marginright=document.body.clientWidth-40   
  for (i=0;i<=numberofblossoms;i++) {    
   var randx=Math.floor(marginright*Math.random())
   var randy=Math.floor(marginbottom*Math.random())
   thisblossom=eval("document.all.blossom"+i+".style")
   thisblossom.posLeft=randx
   thisblossom.posTop=randy
   thisblossom.visibility="visible"
  }
  thisblossom=eval("blossom0")
  openblossoms()
 }
 
}

function openblossoms() {
 if (document.all) {
  clearTimeout(timer)
  if (i_nownumberofframes<=i_maxnumberofframes) {
   thisblossom.innerHTML="<img src='"+frame[i_nownumberofframes].src+"'>"
   i_nownumberofframes++
   timer=setTimeout("openblossoms()",openblossomspeed)
  }
  else  {
   clearTimeout(timer)
   i_nownumberofframes=0
   switchtonextblossom()
  }
 }
 
}

function switchtonextblossom() {
 if (document.all) {
  i_numberofblossoms++
  if (i_numberofblossoms<=numberofblossoms) {
   thisblossom=eval("blossom"+i_numberofblossoms)
   openblossoms()
  }
  else {
   setTimeout("hideblossoms()",showblossomstime)
  }
 }
 
}

function hideblossoms() {
 if (document.all) {
  for (i=0;i<=numberofblossoms;i++) {    
   thisblossom=eval("document.all.blossom"+i+".style")
   thisblossom.visibility="hidden"
  }
 }
 
}

if (document.all) {
 for (i=0;i<=numberofblossoms;i++) {
  document.write("<div id='blossom"+i+"' style='position:absolute;top:0px;left:0px;visibility:hidden;'><img name='blossomimg"+i+"' src='http://www.webdm.cn/images/20091207/flower01.gif'></div>")
  document.clear()
 }
}

window.onresize=positionblossoms
window.onload=positionblossoms

</script>

body>
</html>