2012-12-05 13 views
5

dla projektu Obecnie pracuję na rano próbując dotrzeć następujące:wyzwolić zdarzenie po określonej kolejności kliknięć

Mam prostą stronę, na tej stronie są 4, ukryte i nie widoczne elementy, są one po prostu sformatowane jako to:

<a href="#" class="link_1"></a> 
<a href="#" class="link_2"></a> 
<a href="#" class="link_3"></a> 
<a href="#" class="link_4"></a> 

w zasadzie wszystko, co chcesz, jest zbyt zbudować coś w rodzaju pisanka, więc gdy użytkownik kliknie tych przycisków w określonej kolejności, tj link_4 -> link_1 -> link_3 -> link_2 uruchamia określone wydarzenie, cokolwiek by to nie było.

Oczywiście zdarzenie może zostać wyzwolone tylko wtedy, gdy wykonano odpowiednią kombinację/kolejność kliknięć.

pomysłów, jak go o to przy użyciu jQuery?

Odpowiedz

8
var click_order = []; 
$('a').click(function (e) { 
    click_order.push($(this).index()); 
    if (click_order.slice(-4) == '3,0,2,1') { 
     // easter egg stuff 
    } 
}); 
+0

To wszystko. Następnie należy zresetować zmienną "click_order", jeśli zamówienie już nie jest spełnione :) –

+1

Brian, wspaniały przykład. +1. UWAGA DO OP: W szerszym środowisku, trzeba umieścić linki w opakowaniu, a selektor powinno być '$ („# wrapper a”)' aby zachować właściwą kolejność (zamiast stosowania do wszystkich linków na swojej strona) –

+0

@EliseuMonar - Nie, nigdy nie musisz resetować 'click_order' w powyższym przykładzie. –

Powiązane problemy