2010-06-02 4 views
1

Хорошо, поэтому мой вопрос (им надеется) довольно прост. Я хочу знать, что делать, чтобы я мог создавать разные события для одного и того же кода. Например, Id нравится исчезать div и исчезать новый в первом нажатии клавиши, затем исчезает, что один из них и исчезает новый в нажатие клавиши.Различные действия по множественному событию Keydown

Спасибо!

$(document).keydown(function() { 
    if (event.keyCode == '40') { 

    $('.div-1').fadeOut("slow") 
    $('.div-2').fadeIn("slow") 

    // I'd like this event to occur on the Second keydown 

    $('.div-2').fadeOut("slow") 
    $('.div-3').fadeIn("slow") 
    } 
}); 
+1

старайтесь не забывать точки с запятой ... это поможет вам ... пообещать ... – Reigel

ответ

1

попробовать

var hits = 0; 

$(document).keydown(function() { 
    if (event.keyCode == '40') { 
    hits++; 
    if (hits % 2 == 0) { 
     // I'd like this event to occur on the Second keydown 
     $('.div-2').fadeOut("slow"); 
     $('.div-3').fadeIn("slow"); 

    } else { 

     $('.div-1').fadeOut("slow"); 
     $('.div-2').fadeIn("slow"); 
    } 
}); 
+0

Хмм, это, похоже, не работает. Что, если у меня было много дивизий. Im пытается создать слайд-шоу с использованием этого метода, доступного в основном с помощью стрелок клавиатуры (так что вы понимаете контекст) Должно ли это быть несколько операторов if? – somewhereinsf

0

Единственное решение, которое я могу видеть, это создать локальную переменную. В вашем случае (slodeshow) вам нужно подсчитать каждый класс keydown и parse div.

var hits = 0; 

    $(document).keydown(function() { 
     if (event.keyCode == '40') {   
      $('.div-' + hits).fadeOut("slow") 
      $('.div-' + (hits + 1)).fadeIn("slow")   
      hits++; 
     } 
    }); 
Смежные вопросы