• User

    Script coriandoli

    Esiste uno script che simuli la caduta di coriandoli?
    Grazie


  • Super User

    Ciao. Script per i coriandoli non ne conoscevo, ma ero a conoscenza di uno per la neve.
    Te l'ho adattato. Tu devi solo creare 4 piccole gif colorate che sarebbero i coriandoli con i seguenti nomi:

    0.gif
    1.gif
    2.gif
    3.gif

    le devi inserire nella stessa directory dove si trova la pagina.

    Ti consiglio di farle piccoline tipo 18x18 e se vuoi di creare delle trasparenze.

    Ecco lo script:

    <script language="JavaScript" type="text/javascript">
    
     // e' possibile modificare il nome dei coriandoli
      var snowsrc= new Array&#40;"1.gif", "2.gif", "3.gif" , "4.gif"&#41;;
    
      // Numero di coriandoli che scendono
      var no = 15;
      
    
      
      var ns4up = &#40;document.layers&#41; ? 1 : 0;
      var ie4up = &#40;document.all&#41; ? 1 &#58; 0;
      var ns6up = &#40;document.getElementById&&!document.all&#41; ? 1 &#58; 0;
    
      var dx, xp, yp;  
      var am, stx, sty;
      var i, doc_width = 800, doc_height = 600;
      
      if &#40;ns4up||ns6up&#41; &#123;
        doc_width = self.innerWidth;
        doc_height = self.innerHeight;
      &#125; else if &#40;ie4up&#41; &#123;
        doc_width = document.body.clientWidth;
        doc_height = document.body.clientHeight;
      &#125;
    
      dx = new Array&#40;&#41;;
      xp = new Array&#40;&#41;;
      yp = new Array&#40;&#41;;
      am = new Array&#40;&#41;;
      stx = new Array&#40;&#41;;
      sty = new Array&#40;&#41;;
      
      for &#40;i = 0; i < no; ++ i&#41; &#123;  
        dx&#91;i&#93; = 0;        
        xp&#91;i&#93; = Math.random&#40;&#41;*&#40;doc_width-50&#41;;
        yp&#91;i&#93; = Math.random&#40;&#41;*doc_height;
        am&#91;i&#93; = Math.random&#40;&#41;*30;    
        stx&#91;i&#93; = 0.04 + Math.random&#40;&#41;/10;
        sty&#91;i&#93; = 0.7 + Math.random&#40;&#41;;  
    
    	//genera casualmente il numero di coriandolo da 0 a 3
    	  var cor = &#40;Math.floor &#40;Math.random&#40;&#41;*100&#41;&#41; % 3;
    	  
    	   
        if &#40;ns4up&#41; &#123;            
          if &#40;i == 0&#41; &#123;
            document.write&#40;"<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\">![image]("+snowsrc&#91;cor&#93;+")<\/a><\/layer>"&#41;;
          &#125; else &#123;
            document.write&#40;"<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\">![image]("+snowsrc&#91;cor&#93;+")<\/layer>"&#41;;
          &#125;
        &#125; else if &#40;ie4up||ns6up&#41; &#123;
          if &#40;i == 0&#41; &#123;
            document.write&#40;"<div id=\"dot"+ i +"\" style=\"POSITION&#58; absolute; Z-INDEX&#58; "+ i +"; VISIBILITY&#58; visible; TOP&#58; 15px; LEFT&#58; 15px;\">![image]("+snowsrc&#91;cor&#93;+")<\/a><\/div>"&#41;;
          &#125; else &#123;
            document.write&#40;"<div id=\"dot"+ i +"\" style=\"POSITION&#58; absolute; Z-INDEX&#58; "+ i +"; VISIBILITY&#58; visible; TOP&#58; 15px; LEFT&#58; 15px;\">![image]("+snowsrc&#91;cor&#93;+")<\/div>"&#41;;
          &#125;
        &#125;
      &#125;
      
      function coriandoli&#40;&#41; &#123;
        for &#40;i = 0; i < no; ++ i&#41; &#123; 
          yp&#91;i&#93; += sty&#91;i&#93;;
          if &#40;yp&#91;i&#93; > doc_height-50&#41; &#123;
            xp&#91;i&#93; = Math.random&#40;&#41;*&#40;doc_width-am&#91;i&#93;-30&#41;;
            yp&#91;i&#93; = 0;
            stx&#91;i&#93; = 0.02 + Math.random&#40;&#41;/10;
            sty&#91;i&#93; = 0.7 + Math.random&#40;&#41;;
            doc_width = self.innerWidth;
            doc_height = self.innerHeight;
          &#125;
          dx&#91;i&#93; += stx&#91;i&#93;;
          document.layers&#91;"dot"+i&#93;.top = yp&#91;i&#93;;
          document.layers&#91;"dot"+i&#93;.left = xp&#91;i&#93; + am&#91;i&#93;*Math.sin&#40;dx&#91;i&#93;&#41;;
        &#125;
        setTimeout&#40;"coriandoli&#40;&#41;", 10&#41;;
      &#125;
    
      function snowIE_NS6&#40;&#41; &#123;  
        for &#40;i = 0; i < no; ++ i&#41; &#123;
          yp&#91;i&#93; += sty&#91;i&#93;;
          if &#40;yp&#91;i&#93; > doc_height-50&#41; &#123;
            xp&#91;i&#93; = Math.random&#40;&#41;*&#40;doc_width-am&#91;i&#93;-30&#41;;
            yp&#91;i&#93; = 0;
            stx&#91;i&#93; = 0.02 + Math.random&#40;&#41;/10;
            sty&#91;i&#93; = 0.7 + Math.random&#40;&#41;;
            doc_width = ns6up?window.innerWidth &#58; document.body.clientWidth;
            doc_height = ns6up?window.innerHeight &#58; document.body.clientHeight;
          &#125;
          dx&#91;i&#93; += stx&#91;i&#93;;
          if &#40;ie4up&#41;&#123;
          document.all&#91;"dot"+i&#93;.style.pixelTop = yp&#91;i&#93;;
          document.all&#91;"dot"+i&#93;.style.pixelLeft = xp&#91;i&#93; + am&#91;i&#93;*Math.sin&#40;dx&#91;i&#93;&#41;;
          &#125;
          else if &#40;ns6up&#41;&#123;
          document.getElementById&#40;"dot"+i&#41;.style.top=yp&#91;i&#93;;
          document.getElementById&#40;"dot"+i&#41;.style.left=xp&#91;i&#93; + am&#91;i&#93;*Math.sin&#40;dx&#91;i&#93;&#41;;
          &#125;   
        &#125;
        setTimeout&#40;"snowIE_NS6&#40;&#41;", 10&#41;;
      &#125;
    
      if &#40;ns4up&#41; &#123;
        coriandoli&#40;&#41;;
      &#125; else if &#40;ie4up||ns6up&#41; &#123;
        snowIE_NS6&#40;&#41;;
      &#125;
    
    </script>
    

    E' cosi' lungo per poter essere compatibile con molti browser.
    Basta inserirlo direttamente nel body.

    Fammi sapere come va. Ciao :ciauz:


  • User

    perfetto!!


  • User Newbie

    ciao ragazzi!
    Sto cercando di incorporare lo script in Joomla, ma non mi trova i file (gif) dei coriandoli. Qualcuno sa come fare? Le ho provate tutte in termini di combinazioni del percorso. Thx 😉


  • Super User

    @caste81 said:

    ciao ragazzi!
    Sto cercando di incorporare lo script in Joomla, ma non mi trova i file (gif) dei coriandoli. Qualcuno sa come fare? Le ho provate tutte in termini di combinazioni del percorso. Thx 😉
    Controllato che non ci siano maiuscole o minuscole differenti?
    Sui server Apache questo è un problema frequente.

    :ciauz:


  • User Newbie

    ciao Claudio,
    si ho controllato la sintassi, ma purtroppo il template proprio non riconosce i file. Sembra non trovarli.
    Le ho provate tutte, ho messo una copia dei file in ogni directory del path ftp ma niente. E si che con Explorer i coriandoli vengono giù, o almeno i quadretti con dentro una X rossa a indicare che non trova l'immagine. Carnevale tra poco finisce e niente coriandoli.. 😕


  • Super User

    @caste81 said:

    Carnevale tra poco finisce e niente coriandoli.. :-/Non è mica colpa mia se hai risposto dopo tanti giorni 😄

    Comunque se posti l'indirizzo di una pagina provo a dare un'occhiata.