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

    [JQUERY] errore funzione: al click si attiva più volte invece che una sola

    Ho bisogno di un semplice show-hide attivato al click. Non posso usare accordion perchè ho bisogno che più div possano essere aperti contemporaneamente, inoltre al click di un determinato link devo mostrare un div, precedentemente nascosto, che abbia un determinato id.


    Questà è la funzione

    codice:
         function apridettagli(x)
    {
        $("a.apri").click(function(){
        $(this).toggleClass("selected");
        $(".nomeclasediv#"+x).toggle("fast");
        });
    }
    La funzione si attiverebbe così:

    codice:
     apri

    Cosa succede? La funzione non si attiva al primo click, devo cliccare almeno 2 volte e il div viene mostrato e nascosto 2 o 3 volte prima che si fermi tutto.

    Dove ho sbagliato???

  2. #2
    Non stai facendo le cose nel modo corretto. Quando tu chiami apridettagli, viene fatto il bind di un nuovo evento click con la funzione passata come parametro. Quindi ogni volta che apridettagli viene chiamata una nuova funzione viene accodata per l'evento click. Quando l'evento click viene finalmente richiamato tutte le funzioni ad esso associate vengono eseguite.

    Quindi quello che succede e' quanto segue:
    1- al primo onclick sul tuo link e' associata apridettagli, che non fa nulla se non il bind della funzione che apre/chiude il tuo simil-accordion
    2- con i click successivi l'evento click viene generato, e cio' fa succedere
    a- lo stesso che succede in 1
    b- la funzione che effettivamente fa vedere il simil accordion

    Quindi ogni volta esegui tutte le funzioni bindate all'evento click + aggiungi una nuova funzione alla lista di funzioni da eseguire al click.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3

  4. #4
    Originariamente inviato da Insomnya
    grazie mille, per fortuna ho risolto!!
    spero tu abbia risolto perche' hai capito il problema piu' che per fortuna
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.