+ Rispondi alla Discussione
Risultati da 1 a 4 di 4

Usare lo stesso script nella stessa pagina più volte

Ultimo Messaggio di RobertoLeone il:
  1. #1
    Utente Premium
    Data Registrazione
    Nov 2007
    Messaggi
    321

    Usare lo stesso script nella stessa pagina più volte

    ho un codice che mi genera un contatore "coundown" per il mio sito. IL problema è che se uso più volte questo codice funziona solo il primo, tutti gli altri non funzionano.

    Se ne parla qui:

    http://www.giorgiotave.it/forum/joom...countdown.html

  2. #2
    FDA
    FDA è offline
    Moderatore L'avatar di FDA
    Data Registrazione
    Sep 2012
    Località
    Napoli
    Messaggi
    1,932
    Segui FDA su Twitter Aggiungi FDA su Google+ Aggiungi FDA su Facebook
    Ciao pippoman.
    Mettiamo qui lo script riusabile e nel topic linkato spieghiamo come usarlo nella visualizzazione "categoria blog" di Joomla.
    Quello che scriviamo qui vale in generale, Joomla non c'entra.

    Lo script per il countdown lo modifichiamo un po' in modo che sia riusabile infinite volte con parametri diversi:

    Codice:
    <script type="text/javascript">
    	function countdown(idp, var_anno, var_mese, var_giorno, var_ore, var_minuti, var_secondi)
    	{
    	data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
    	data_oggi= new Date();
    	differenza=(data_scandeza-data_oggi);
    	giorni=parseInt(differenza/86400000);
    	differenza=differenza-(giorni*86400000);
    	ore=parseInt(differenza/3600000);
    	differenza=differenza-(ore*3600000);
    	minuti=parseInt(differenza/60000);
    	differenza=differenza-(minuti*60000);
    	secondi=parseInt(differenza/1000);
    	differenza=differenza-(secondi*1000);
    	var_id="countdown_" + idp;
    	if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
    	{
    	document.getElementById(var_id).innerHTML="Tempo scaduto!";
    	}
    	else
    	{
    	document.getElementById(var_id).innerHTML=giorni +' giorni '+ore+' ore '+minuti+' min '+secondi+' sec ';
    	setTimeout("countdown(idp)",1000)
    	}
    	}
    </script>
    Nota che adesso abbiamo separato la function dall'altra parte con l'onload e l'id, questo proprio perché lo script lo includeremo un'unica volta indipendentemente dal numero di volte che verrà utilizzato.

    Per usare lo script, cioè per inserire il countdown, dobbiamo scrivere:

    Codice:
    <div style="font-family: Verdana; font-size: 12pt; color: #006600; border: 1pt solid #006600; padding: 2px; background-color: #DDFFDD;">
    	<style onload="countdown(234, 2014, 4, 1, 0, 0, 0)"></style>
    	<div id="countdown_234"></div>
    </div>
    dove:
    - lo style all'interno del primo div è opzionale e riguarda soltanto lo stile applicato (ti suggerisco di creare una classe nel css e richiamarla);
    - idp=234 è un codice univoco che identifica il countdown, non ce ne possono essere due identici nella stessa pagina. Quando crei un idp devi nominare l'id (guarda nel secondo div) come "countdown_idp" ... se quindi idp=234 allora scriverai id="countdown_234", mentre se idp=7681 scriverai id="countdown_7681";
    - nella function countdown, oltre a idp vi sono altri 6 parametri che equivalgono a: anno, mese, giorno, ora, minuto, secondo: si tratta dei parametri che prima venivano caricati come "costanti" nello script, mentre adesso lo script è indipendente e i parametri li passi tu ogni volta che chiami la funzione.

    Come puoi ben capire, il vantaggio adesso è che lo script lo includi una sola volta nella pagina (nell'altro topic ti spiego come fare per Joomla) e lo richiami quante volte vuoi con parametri diversi. Pensa ad esempio ad una pagina con delle offerte che hanno scadenze diverse: basta richiamare nella singola scheda prodotto lo script passando un idp univoco (ad esempio il codice della scheda articolo) e la data di scadenza dell'offerta (attraverso gli altri 6 parametri).

    Francesco

  3. #3
    Utente Premium
    Data Registrazione
    Nov 2007
    Messaggi
    321
    GrazieFrancesco sei stato gentilissimo.

  4. #4
    User Newbie
    Data Registrazione
    Feb 2020
    Località
    Santeramo in colle
    Messaggi
    2

    Scrivere più volte lo stesso script sulla mia pagina web

    Salve,
    come qualcuno di voi ha già scritto ho un problema ho bisogno sulla stessa pagina di inserire più volte lo stesso script come posso fare?

    questo è il codice:
    <div style="border:4px solid #1d51b4;position: absolute;width:200px; height: 350px; left:0px; top:600px;background:transparent;">
    <img src="percorsoimmagine1.png" id="img">
    <script language="Javascript" type="text/javascript">
    var secondi=10;
    var num=1;
    function CambiaImmagine() {
    var immagini=new Array();
    immagini[0]="percorsoimmagine1.png";
    immagini[1]="percorsoimmagine2.png";

    document.getElementById("img").src=immagini[num];
    num=(num+1>=immagini.length)?0:num+1;

    } setInterval ("CambiaImmagine()", secondi * 1000);
    CambiaImmagine();</script>


    se lo inserisco una volta sola funziona se lo inserisco più volte si blocca... sono un neofita quindi abbiate pazienza.

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.