Come inserisco l'effetto neve?

Sezione di guide e risposte alle domande frequenti, molto utile per gli utenti che hanno un forum.
:arrow: Indice Guide
Danger
Utente veterano
Utente veterano
Messaggi: 494
Iscritto il: 22/12/2009, 19:29
Località: Sicilia

Come inserisco l'effetto neve?

Messaggio da Danger »

Eccovi il BBCode che vi permetterà di far cadere lentamente dei fiocchi di neve (da voi scelti in immagine e numero) rendendo l'atmosfera natalizia ed utilizzando un semplice javascript. Utilizzate questi codici e inseriteli nelle aree di testo indicate. Per sapere dove e come inserire questi codici leggete qui.

BBCode

Codice: Seleziona tutto

[neve]{URL},{NUMBER}[/neve]
HTML

Codice: Seleziona tutto

<script type="text/javascript">

/******************************************
* Snow Effect Script- By Altan d.o.o. (http://www.altan.hr/snow/index.html)
* Visit Dynamic Drive DHTML code library (http://www.dynamicdrive.com/) for full source code
* Last updated Nov 9th, 05' by DD. This notice must stay intact for use
******************************************/
 
  //Configure below to change URL path to the snow image
  var snowsrc="{URL}"
  // Configure below to change number of snow to render
  var no = {NUMBER};
  // Configure whether snow should disappear after x seconds (0=never):
  var hidesnowtime = 0;
  // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
  var snowdistance = "windowheight";

///////////Stop Config//////////////////////////////////

  var ie4up = (document.all) ? 1 : 0;
  var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

   function iecompattest(){
   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
   }

  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var i, doc_width = 800, doc_height = 600;
 
  if (ns6up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie4up) {
    doc_width = iecompattest().clientWidth;
    doc_height = iecompattest().clientHeight;
  }

  dx = new Array();
  xp = new Array();
  yp = new Array();
  am = new Array();
  stx = new Array();
  sty = new Array();
  snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
  for (i = 0; i < no; ++ i) { 
    dx[i] = 0;                        // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;         // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();     // set step variables
      if (ie4up||ns6up) {
      if (i == 0) {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>");
      } else {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
      }
    }
  }

  function snowIE_NS6() {  // IE and NS6 main animation function
    doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
      doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
        xp[i] = Math.random()*(doc_width-am[i]-30);
        yp[i] = 0;
        stx[i] = 0.02 + Math.random()/10;
        sty[i] = 0.7 + Math.random();
      }
      dx[i] += stx[i];
      document.getElementById("dot"+i).style.top=yp[i]+"px";
      document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px"; 
    }
    snowtimer=setTimeout("snowIE_NS6()", 10);
  }

   function hidesnow(){
      if (window.snowtimer) clearTimeout(snowtimer)
      for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
   }
      

if (ie4up||ns6up){
    snowIE_NS6();
      if (hidesnowtime>0)
      setTimeout("hidesnow()", hidesnowtime*1000)
      }

</script>
Come potete vedere per utilizzarlo sarà sufficiente inserire l'url di un immagine (cioè il fiocco di neve) ed il numero che indica quante volte l'immagine verrà ripetuta simulando la neve. Per il fiocco di neve potete utilizzare questa immagine (non vedrete nulla poiché è bianca).
Avremo quindi il seguente codice da applicare in una qualsiasi descrizione delle sezioni in home, se volete appaia in tutte le parti del forum incollate il codice nell'area "Regole del forum" di ogni sezione.

Codice: Seleziona tutto

[neve]http://img227.imageshack.us/img227/5614/fioccodineve.png,10[/neve]
Poiché ho messo "10" appariranno 10 fiocchi di neve cadenti, voi potrete scegliere un numero qualsiasi semplicemente modificando quel numero.
Buona decorazione! :wink:

Chi c’è in linea

Visitano il forum: Claude [Bot] e 0 ospiti