多个Keydown事件的不同操作

时间:2010-06-02 04:33:21

标签: javascript jquery

好的,所以我的问题(我希望)相当简单。我想知道该怎么做,以便我可以为同一个键码创建不同的事件。例如,Id喜欢淡出一个div并在第一个按键上淡入新的一个,然后淡出那一个并在按键上淡化一个新的。

谢谢!

$(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")
   }  
});

2 个答案:

答案 0 :(得分: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");
   }  
});

答案 1 :(得分:0)

我能看到的唯一解决方案是创建局部变量。在你的情况下(幻灯片)你需要计算每个keydown和解析div类。

    var hits = 0;

    $(document).keydown(function() {
      if (event.keyCode == '40') {          
          $('.div-' + hits).fadeOut("slow")
          $('.div-' + (hits + 1)).fadeIn("slow")         
          hits++;
       }  
    });