Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Kilkukrotne klikanie
Forum PHP.pl > Forum > Przedszkole
.rmvb's
Witam serdecznie ;p
Moje pytanie tyczy się kilkukrotnego klikania,
Zastanawiam się, jak zrobić aby z listy elementów, np <a> podczas klikania, dla pierwszego kliknięcia przypisać jakąś akcję, dla drugiego inną a trzecie kliknięcie zablokować.
W taki sposób, aby móc klikać niezależnie różne kolejności i aby każde <a> pamiętało swoją ilosć kliknięć - dodam,że elementów wszystkich ma być 5.
Myślałem nad dodwaniem klas i sprawdzaniu czy została dodana poprzednia, czyli, na początku wszystkie maja klase "zero", podczas klikniecia sprawdzam, czy dane <a> ma klasę "zero" lub "jeden" i wtedy wiem czy było już kliknięte czy też nie? klasę "jeden" dodam(a raczej zamienie za zero) podczas spełnienia warunku "zero".
chyba najłatwiej bedzie posłużyć się jquery

Tylko pytanie jak to zrobić opytmalnie, lub czy jest lepszy sposób, proszę o sugestię i dziękuję za pomoc
buliq
Kod
$("a").click(function(){var i = parseInt($(this).data('ile_klikniec')); if ( > 2) return false; if (i == 0) { /*akcja dla 1 klikniecia */ } else if (i == 1) {/*akcja dla 2*/} i++; $(this).data('ile_klikniec', i); });
owca_82
Cytat(.rmvb's @ 22.01.2014, 18:30:55 ) *
chyba najłatwiej bedzie posłużyć się jquery

E tam od razu taka kobyła do tak prostych rzeczy ;/

Cytat(.rmvb's @ 22.01.2014, 18:30:55 ) *
Tylko pytanie jak to zrobić opytmalnie, lub czy jest lepszy sposób, proszę o sugestię i dziękuję za pomoc


Tak:
Kod
<p><a href='#' onclick='x(this);'>Klik 1</a></p>

oraz
Kod
function x(obj){

    alert('Akcja 1');
  
    obj.onclick = function(){
  
          alert('Akcja 2');
      
          obj.onclick = function(){
  
                alert('Akcja 3');
            
          };
          
    };

}


online -> http://jsbin.com/AfAvaxeC/1/edit
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.