• User

    slideUp e slideDown infinito.

    Ciao

    ho una lista di prodotti che vengo tirati fuori da un database, in quest'elenco volevo attivare un funzione JQuery che al corripondente prodotto Apre e chiude un div con delle informazioni supplementari sul prodotto.

    Questo e' il codice che ho scritto ...

    <script type="text/javascript">

    $(document).ready(function(){
    
        $(".slide").click(function(e) {  
               e.stopPropagation();
               var target = $(this).parent().children(".add-info-product");
               $(target).slideUp("fast");    
               
        });
        $(".slide").click(function() {  
            var target = $(this).parent().children(".add-info-product");
            $(target).slideDown("fast");         
        });
    });
    

    </script>

    Il problema e' che quando clicco su show/hide il div si apre e si chiude continuamente e non capisco perche

    Mi potete aiutare

    When the user click on Show/hide string, but when on show/hide the ".add-info-product" open and close much times, and I don't undestand because.

    Can you help me!


  • User

    Ciao,
    il problema è che vengono avviati entrambe le funzioni quando clicchi sull'elemento, quindi uno slideUp seguito da uno slideDown.
    Puoi ovviare a questo problema usando semplicemente slideToggle(), o eventualmente settando attributi particolari (o controllare se l'elemento è visibile o meno) prima di eseguire uno slideDown/slideUp.

    Questo il codice con slideToggle

    
    $( '.slide' ).click(function(){
    var target = $(this).parent().children(".add-info-product"); // se è l'elemento successivo puoi usare $(this).next()
    target.slideToggle();
    });