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

    [JQUERY] Slide Immagine e Testo

    Ciao Ragazzi, Vjorrei creare uno SLIDE degli ultimi 4 Post del mio DB,

    per fare questo popolo i cari div con i contenuti..
    codice:
    <div class="contenitore">
    <div class="slide"><img ....<div class="testo">Primo testo</div></div>
    <div class="slide" style="visibility:hidden"><img ....<div class="testo">Secondo testo</div></div>
    <div class="slide" style="visibility:hidden"><img ....<div class="testo">Terzo testo</div></div>
    <div class="slide" style="visibility:hidden"><img ....<div class="testo">Quarto testo</div></div>
    </div>
    adesso dovrei inserire degli effetti dopo Tot secondi, ma vorrei che in automatico mi passasse al DIV successivo, levasse l' invisibilita e lo facesse comparire con qualche effetto....quindi arrivato alla fine dei div dentro il DIV CONTENITORE, reiniziasse da capo...

    ce un comando del genere?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non fai prima ad usare un tool già fatto tipo in jquery? Orami ne esistono una marea piuttosto che scrivere tutto da capo.

  3. #3
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    getElementsByClassName non funziona con gli Internet Explorer, quindi prova il mio esempio con altro Navigator; ma non è a questo metodo che siamo legati: lo scopo della function collect() è di "raccogliere", identificare gli Elementi (DIV) sui quali le ulteriori istruzioni JS dovranno intervenire.
    Far avere ad essi degli ID in sede di echo PHP potrebbe essere una utile alternativa, così potremmo usare il metodo getElementById che è "universale" (dall' era di IE5 in avanti).
    codice:
    <!DOCTYPE html PUBLIC>
    <html>
    <head><title>BOES's multi-content Slider</title>
    
    <script type="text/javascript">
    
    var things;
    
    function collect(){
     things = document.getElementsByClassName('slide');
     alert('ce ne sono ' + things.length);
     rotate();
     }
    
    
    var theone = 0;
    
    function rotate(){
    
     things[theone].style.visibility='';
    
     setTimeout('things[theone].style.visibility="hidden"; theone++; if( theone==things.length ){ theone=0; }; rotate();', 2000);
     }
    
    
    window.onload=collect;
    
    </script>
    
    <style type="text/css">
    div {
     border: 1px dashed blue;
    }
    </style>
    </head><body>
    
    <div class="contenitore">
     <div class="slide"                          >[img][/img]<div class="testo">Primo testo  </div></div>
     <div class="slide" style="visibility:hidden">[img][/img]<div class="testo">Secondo testo</div></div>
     <div class="slide" style="visibility:hidden">[img][/img]<div class="testo">Terzo testo  </div></div>
     <div class="slide" style="visibility:hidden">[img][/img]<div class="testo">Quarto testo </div></div>
    </div>
    
    
    </body>
    </html>
    Ora con le variabili:

    things[0]
    things[1]
    things[2]
    things[3]

    JavaScript identifica i tuoi quattro DIV; il "trucco" è avere il numero indice tra le quadre [], che come tale, come numero tradotto dalla variabile theone, può essere accresciuto o riportato a zero da computazioni; e permettere così la "rotazione".

    Originariamente inviato da BOES
    ....quindi arrivato alla fine dei div dentro il DIV CONTENITORE, reiniziasse da capo...
    A questo provvede l' IF-statement che ti ho colorato in dark-red.

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.