我无法理解这个jquery代码

时间:2015-08-28 13:09:55

标签: javascript

$(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函数(key.which,10))

2 个答案:

答案 0 :(得分:1)

  1. keydown(function(key))是一个javascript函数,用于检测键盘上的按键。 key只是他给变量的名字。
  2. parseInt正在将接收到的值解析为数字(整数)
  3. 切换键的值,10只是他使用的编号系统 - 有二进制(1' s和0' s),十六进制(0-10和字母AF)等,他使用标准编号系统,是0-9中的字符组成"正常"数字。在切换时,他决定在任何给定的按钮按下时会发生什么。可在此处http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
  4. 找到此类字符代码的示例列表

答案 1 :(得分:0)

当有人按下键盘上的任意键时,它会触发一个事件并调用该绑定($(document).keydown)。哪个会收到一个事件对象。 该对象具有按下了键的ASCII代码(event.which)。 所以该函数只是等待某个事件发生并解析按下了哪个键并将其映射为“img”的动画。