2012-03-09 58 views
0

最近我從 this下載了心動畫。我也粘貼了下面的代碼。它只是在我的頁面中顯示一顆心。而落心的動畫不起作用。我無法識別問題。任何人都會告訴我爲了讓動畫中的動畫掉落,我必須做些什麼改變。或者還有其他動畫代碼嗎?瀏覽器的心動畫

<SCRIPT type="text/javascript"> 

// **** Changed to Hearts from Snow **** 

// Set the number of snowflakes (more than 30 - 40 not recommended) 
var snowmax=12; 

// Set the colors for the snow. Add as many colors as you like 
var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD","#ffffff","#ffc0cb"); 

// Set the fonts, that create the snowflakes. Add as many fonts as you like 
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS"); 

// **** CHANGE YOUR IMAGE HERE **** 

// Set the letter that creates your snowflake (recommended: *) 
var snowletter="<img src=images/heart.gif>"; 

// Set the speed of sinking (recommended values range from 0.3 to 2) 
var sinkspeed=0.6; 

// Set the maximal-size of your snowflaxes 
var snowmaxsize=40; 

// Set the minimal-size of your snowflaxes 
var snowminsize=20; 

// Set the snowing-zone 
// Set 1 for all-over-snowing, set 2 for left-side-snowing 
// Set 3 for center-snowing, set 4 for right-side-snowing 
var snowingzone=1; 

/////////////////////////////////////////////////////////////////////////// 
// CONFIGURATION ENDS HERE 
/////////////////////////////////////////////////////////////////////////// 


// Do not edit below this line 
var snow=new Array(); 
var marginbottom; 
var marginright; 
var timer; 
var i_snow=0; 
var x_mv=new Array(); 
var crds=new Array(); 
var lftrght=new Array(); 
var browserinfos=navigator.userAgent; 
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/); 
var ns6=document.getElementById&&!document.all; 
var opera=browserinfos.match(/Opera/); 
var browserok=ie5||ns6||opera; 

function randommaker(range) { 
    rand=Math.floor(range*Math.random()) 
    return rand 
} 

function initsnow() { 
    if (ie5 || opera) { 
     marginbottom = document.body.clientHeight 
     marginright = document.body.clientWidth 
    } 
    else if (ns6) { 
     marginbottom = window.innerHeight 
     marginright = window.innerWidth 
    } 
    var snowsizerange=snowmaxsize-snowminsize 
    for (i=0;i<=snowmax;i++) { 
     crds[i] = 0; 
     lftrght[i] = Math.random()*15; 
     x_mv[i] = 0.03 + Math.random()/10; 
     snow[i]=document.getElementById("s"+i) 
     snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)] 
     snow[i].size=randommaker(snowsizerange)+snowminsize 
     snow[i].style.fontSize=snow[i].size 
     snow[i].style.color=snowcolor[randommaker(snowcolor.length)] 
     snow[i].sink=sinkspeed*snow[i].size/5 
     if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} 
     if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} 
     if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} 
     if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} 
     snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size) 
     snow[i].style.left=snow[i].posx 
     snow[i].style.top=snow[i].posy 
    } 
    movesnow() 
} 

function movesnow() { 
    for (i=0;i<=snowmax;i++) { 
     crds[i] += x_mv[i]; 
     snow[i].posy+=snow[i].sink 
     snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]); 
     snow[i].style.top=snow[i].posy 

     if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){ 
      if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} 
      if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} 
      if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} 
      if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} 
      snow[i].posy=0 
     } 
    } 
    var timer=setTimeout("movesnow()",50) 
} 

for (i=0;i<=snowmax;i++) { 
    document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>") 
} 

    window.onload=initsnow; 

</script> 
+0

什麼錯誤做你得到? – Abhidev 2012-03-09 07:30:55

回答

1

得到它,你忘了你的 '像素' 屬性

snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]) + 'px'; 
snow[i].style.top=snow[i].posy + 'px'; 

,並在文件中寫

document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"px'>"+snowletter+"</span>"); 

EDIT(全碼)

// **** Changed to Hearts from Snow **** 

// Set the number of snowflakes (more than 30 - 40 not recommended) 
var snowmax=12; 

// Set the colors for the snow. Add as many colors as you like 
var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD","#ffffff","#ffc0cb"); 

// Set the fonts, that create the snowflakes. Add as many fonts as you like 
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS"); 

// **** CHANGE YOUR IMAGE HERE **** 

// Set the letter that creates your snowflake (recommended: *) 
var snowletter="<img src=images/heart.gif>"; 

// Set the speed of sinking (recommended values range from 0.3 to 2) 
var sinkspeed=0.6; 

// Set the maximal-size of your snowflaxes 
var snowmaxsize=40; 

// Set the minimal-size of your snowflaxes 
var snowminsize=20; 

// Set the snowing-zone 
// Set 1 for all-over-snowing, set 2 for left-side-snowing 
// Set 3 for center-snowing, set 4 for right-side-snowing 
var snowingzone=1; 

/////////////////////////////////////////////////////////////////////////// 
// CONFIGURATION ENDS HERE 
/////////////////////////////////////////////////////////////////////////// 


// Do not edit below this line 
var snow=new Array(); 
var marginbottom; 
var marginright; 
var timer; 
var i_snow=0; 
var x_mv=new Array(); 
var crds=new Array(); 
var lftrght=new Array(); 
var browserinfos=navigator.userAgent; 
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/); 
var ns6=document.getElementById&&!document.all; 
var opera=browserinfos.match(/Opera/); 
var browserok=ie5||ns6||opera; 

function randommaker(range) { 
    rand=Math.floor(range*Math.random()) 
    return rand 
} 

function initsnow() { 

    if (ie5 || opera) { 
     marginbottom = document.body.clientHeight 
     marginright = document.body.clientWidth 
    } 
    else if (ns6) { 
     marginbottom = window.innerHeight 
     marginright = window.innerWidth 
    } 


    var snowsizerange=snowmaxsize-snowminsize 

    for (i=0;i<=snowmax;i++) { 
    crds[i] = 0; 
    lftrght[i] = Math.random()*15; 
    x_mv[i] = 0.03 + Math.random()/10; 
    snow[i]=document.getElementById("s"+i) 
    snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)] 
    snow[i].size=randommaker(snowsizerange)+snowminsize 
    snow[i].style.fontSize=snow[i].size 
    snow[i].style.color=snowcolor[randommaker(snowcolor.length)] 
    snow[i].sink=sinkspeed*snow[i].size/5 
    if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} 
    if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} 
    if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} 
    if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} 
    snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size) 
    snow[i].style.left=snow[i].posx 
    snow[i].style.top=snow[i].posy 
    } 


    movesnow() 
} 

function movesnow() { 
    for (i=0;i<=snowmax;i++) { 
    crds[i] += x_mv[i]; 
    snow[i].posy+=snow[i].sink 
    snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]) + 'px'; 
    snow[i].style.top=snow[i].posy + 'px'; 

    if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){ 
     if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} 
     if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} 
     if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} 
     if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} 
     snow[i].posy=0 
    } 
    } 
    var timer=setTimeout("movesnow()",50) 
} 

for (i=0;i<=snowmax;i++) { 
    document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"px'>"+snowletter+"</span>") 
} 

window.onload=initsnow; 
+0

它的工作精湛。非常感謝 :) – Dray 2012-03-09 09:10:50