2015-08-28 93 views
-6
$(document).ready(function() { 
$(document).keydown(function(key) { 
    switch(parseInt(key.which,10)) { 
     // Left arrow key pressed 
     case 37: 
      $('img').animate({left: "-=10px"}, 'fast'); 
      break; 
     // Up Arrow Pressed 
     case 38: 
      $('img').animate({top: "-=10px"},'fast'); 
      break; 
     // Right Arrow Pressed 
     case 39: 
      $('img').animate({left: "+=10px"}, 'fast'); 
      break; 
     // Down Array Pressed 
     case 40: 
      $('img').animate({top: "+=10px"}, 'fast'); 
      break; 
    } 
}); 
}); 
  1. 为什么他把钥匙的keydown(功能(键)这是什么关键的做,我可以把任何东西
  2. parseInt函数?
  3. 开关(parseInt函数(关键。其中,10))
+2

你有没有试图谷歌这些问题?大多数人只是从他们的定义中得出非常简单的答案。 – IfTrue

回答

1
  1. 的keydown(功能(键))是一个JavaScript函数从键盘检测按键。关键就是他给变量的名称。
  2. parseInt将接收到的值解析为一个数字(整数)
  3. 切换键值,10只是他使用的编号系统 - 有二进制(1和0),十六进制(数字0-10和字母AF)他使用标准的编号系统,它是0-9中构成“正常”数字的字符。切换后,他决定在按下任何按钮时将发生什么。这样的字符代码的例子可以参考这里http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
+0

对不起,但我是jqery的初学者,为什么他把功能键我需要更多的解释和开关(parseInt(key.which,10)) –

+0

,因为他想在键盘上按下键时发生一些动作 – pokrak94

0

发现当有人按他的键盘任意键,它会触发一个事件,并调用绑定($(文件).keydown)。哪个会收到一个事件对象。 该对象具有按下哪个键的ASCII代码(event.which)。 因此,函数只是等待某个事件发生并解析哪个键被按下并映射它以使“img”动画化。

+1

我需要更多的解释! –

+0

当某人按下某个键(键盘)时,或者只需点击任何地方;通过DOM发现一个事件,并且达到“文件”。 他所做的是; $(document).ready //截取事件(文档呈现,加载等)并调用该函数。 $(document).keydown //当某人按下任何键盘键时,param函数被调用一个事件对象(他将其命名为“key”) 该事件对象有一个参数“which”,表示哪个键被按下。 他比根据哪个键被按下来动画img。 –