Visualizzazione dei risultati da 1 a 3 su 3

Discussione: jquery slide down

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    107

    jquery slide down

    Ciao a tutti vi chiedo un aiuto sul javascript che non sono molto ferrato:

    Linguaggio utilizzato: PHP/MYSQL
    Progetto: Bacheca
    Pagina di lavoro: annuncio.php (dove visualizzo gli annunci) -> lettura fatta su un db mysql

    Sulla pagina annuncio.php ho la lista di tutti gli annunci , inseriti sulla bacheca.
    Gli annunci vengono visualizzati tramite una query in php e fino a qui nessun problema.

    Schema:
    Valori ottenuti tramite un ciclo while es:

    Codice PHP:
    while($row mysql_fetch_array($resultscerca)){ 
    $titolo $row['titolo']; 
    $descrizione=$row['descrizione'];
    ecc ...

    echo <<<EOT
    <h3>$titolo</h3>

     
    $descrizione </p>
    ecc...
    EOT;

    Esempio grafico:

    ---------------------
    titolo annuncio

    ---------------------
    Corpo annuncio
    ...
    ...
    ---------------------
    rispondi | ....
    ################

    ---------------------
    titolo annuncio

    ---------------------
    Corpo annuncio
    ...
    ...
    ---------------------
    rispondi | ....
    ################

    Tramite jquery vorrei fare che quando si preme sul pulsante " rispondi " si abbassa il contenuto di un " frame " o chiamatelo come volete, PER OGNI ANNUNCIO; allora ho inserito questo codice:

    Codice PHP:
    while($row mysql_fetch_array($resultscerca)){ 
    $titolo $row['titolo']; 
    $descrizione=$row['descrizione'];
    ecc ...

    echo <<<EOT
    <h3>$titolo</h3>

     
    $descrizione </p>
    ecc...
    <div id="panel">
    Contenuto del frame che scende
    </div>
    <p class="slide">[url="#"]Slide Panel[/url]</p>
    EOT;

    Questo dentro head della pagina:
    codice:
    <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    
        $(".btn-slide").click(function(){
            $("#panel").slideToggle("slow");
            $(this).toggleClass("active"); 
            return false;
        });
         
    });
    </script>
    Lo script funziona solo per un frame e sempre lo stesso. L'azione di "slide down" quando clicco sul link "Slide Panel", la effettua sempre sul primo elemento della pagina. Questo perchè effettivamente lui gli passa sempre lo stesso nome ".btn-slide" che è ripetuto tante volte quante sono i messaggi in bacheca.

    Dovrei fare in modo che per ogni messaggio in bacheca ogni " slide down" sia indipendente, solo che non ho idea di come si fa.

    Potete aiutarmi??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, puoi fare cosi':

    - al posto di id panel dai l'id dell'annuncio <div id="a_123"> (id o identificativo del record a db)
    - al posto di Slide Panel fai Slide Panel (123 stesso id annuncio)

    <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){

    $(".btn-slide").click(function(){
    id = $(this).attr('id');
    $("#a_"+id).slideToggle("slow");
    $(this).toggleClass("active");
    return false;
    });

    });
    </script>

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    107
    Grazie mille per la risposta

    ora sono al contrario, nel senso che appena carico la pagina, il contenuto è gia visibile, clicco e si nasconde, invece vorrei fare che il contenuto è nascosto e appena clicco fa lo slidedown in basso, ma non riesco mi aiuti?:

    Codice PHP:
    <button id="$id_annuncio>Bottone</button>
    <
    p id="a_$id_annuncio">
        
    This is the paragraph to end all paragraphs.  You
        should feel 
    [i]lucky[/ito have seen such a paragraph in
        your life
    .  Congratulations!
     </
    p
    codice:
    <script type="text/javascript">
    
     $(document).ready(function(){
        
        $("button").click(function () {
         
        id = $(this).attr('id');
          $('#a_'+id).slideToggle("slow");
        });
    
      });
    </script>

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.