Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    temporizzare banner in modo differente

    volevo sapere se cè modo di temporizzare i banner in modo differente;
    cioè mi spiego meglio:

    ho uno script dove vengono ruotati in modo casuale diversi banner,in esse cè il comando window.setTimeout("mostra_banner()", 3000);

    ke ogni 3 secondi mi fà cambiare banner;

    la mia intenzione è quella di far apparire x esempio il banner n°1 per 3 secondi ed il banner n°2 per 5....praticamente poter gestire il timeout per ogni singolo banner;

    ci ho provato ma non ci riesco

    questo è ciò che ho adesso:

    function mostra_banner()
    {
    mostra.innerHTML = "[img]" + imm[x] + "[/img]";
    window.setTimeout("mostra_banner()", 3000);
    imm.length - 1 == x ? x = 0 : x++;
    }

  2. #2
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    Un terzo Array od uno unico multidimensionale.

    Dunque hai già due Array imm e lnk
    ne compili un terzo per i tempi, diciamo tmr e nel timer al posto di 3000 metti tmr[x]
    dacché deduco che c'è un' altra funzione che randomly assegna un Valore alla x; e li' dovrebbe esserci anche un altro Timer.

  3. #3
    grazie mille funziona tutto!

    sei un grande!

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    Se sei uno smanettone volonteroso, puoi cogliere l' occasione per farti un' idea di come si lavora con gli Array multidimensionali: un altro Array dentro un Array.
    Qui vedi bene come si compila (e processa questo script da solo):
    codice:
    <script type="text/javascript">
    
    var x = 0;
    
    var mostra;
    
    var multi = new Array();
        multi[0] = new Array("path/ban01.jpg", "path/link01.html", 2000);
        multi[1] = new Array("path/ban02.jpg", "path/link02.html", 5000);
        multi[2] = new Array("path/ban03.jpg", "path/link03.html", 1500);
        multi[3] = new Array("path/ban04.jpg", "path/link04.html", 3000);
    
    function mostra_banner()
    {
    mostra = "[img]" + multi[x][1] + "[/img]";  // mostra sarà mostra.innerHTML
    window.setTimeout("mostra_banner()", multi[x][2]);
    multi.length - 1 == x ? x = 0 : x++;
    alert(mostra); //poi lo togli
    }
    
    window.onload = mostra_banner; //poi lo togli
    
    </script>
    Poi con multi[2][0] ad esempio, accedi all' URL dell' immagine del penultimo banner, con multi[2][1] all' URL di destinazione del link, con multi[2][2] alla temporizzazione relativa.
    Gli Array cominciano a contare da zero come gli antichi romani ...

  5. #5
    si grazie mi tornerà utile

    cmq ora ho un altra cosa da chiedere:
    i link dei banner mi si aprono nella stessa pagina,ho provato a metterci quel codice x farli aprire in un altra finestra ma non mi funziona;

    è strutturato cosi:

    var lnk = new Array();
    lnk[0] = "url";
    lnk[1] = "url";
    lnk[2] = "url";
    lnk[3] = "url";
    lnk[4] = "url";


    function mostra_banner()
    {
    mostra.innerHTML = "[img]" + imm[x] + "[/img]";
    window.setTimeout("mostra_banner()", tmr[x]);
    imm.length - 1 == x ? x = 0 : x++;
    }



    scusa ma sono alle prime armi

  6. #6
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    mostra.innerHTML = "[img]" + imm[x] + "[/img]";

    border='0' serve a evitare il bordo blu che i Browser applicano attorno a un' immagine quando è un link, analogamente a come fanno col testo (per segnalare al visitatore che è cliccabile).
    Ma se già non appare, vuol dire che è definito in altro modo, nei CSS.

  7. #7
    perfetto funziona tutto! sei un genio!
    grazie anke x il border0 mi serviva anke quello

  8. #8
    Originariamente inviato da Enzaccio
    mostra.innerHTML = "[img]" + imm[x] + "[/img]";

    border='0' serve a evitare il bordo blu che i Browser applicano attorno a un' immagine quando è un link, analogamente a come fanno col testo (per segnalare al visitatore che è cliccabile).
    Ma se già non appare, vuol dire che è definito in altro modo, nei CSS.
    ciao,esiste anche un qualcosa che mi permetta di leggere i click ai banner?

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da silvio160
    ciao,esiste anche un qualcosa che mi permetta di leggere i click ai banner?
    Non con javascript... in pratica tutti i link dovranno puntare ad una singola pagina sul server che contabilizza e reindirizza alla pagina reale...
    ma qui siamo del tutto fuori argomento rispetto al titolo, se hai altri quesiti valuta la possibilita' di aprire una discussione con titolo piu' significativo

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.