当按下一个键(假入是a)执行一件事情、在按下一个键(假如是d)同样执行件事情。。
我用的setTimeout,可是还是不行,我按下a他就执行a的事件,可我一按下b、b的事件执行了,可是a的却停止了。我想让它们互不影响求解

解决方案 »

  1.   

    每次执行 new 一下就可以了
      

  2.   

     <div style="width:15px; height:8px; background-color:Black; position:absolute; top:10px; left:10px;" id="zd">
            
        </div>
         <div style="width:15px; height:8px; background-color:red; position:absolute; top:100px; left:10px;" id="zd1">
            
        </div> document.body.onkeypress=function(){
            var kd=event.keyCode;
            if(你按下了a){第一个div向左边移动(如果松开,就停止移动)};
             if(。b){。二。。};}
    我想按同时让两个div都移动,结果是,一按a,就把b停了,一按b,就把a给停了。
      

  3.   

    按b的时候,a松开了,当然a就停下了啊
      

  4.   

    不知道你用过jquery吗,
    用jquery很容易做到。
    我可以给你用jquery做的代码
      

  5.   

    <script src="move/jquery-small.js"></script>
    <script src="jquery.hotkeys.js"></script>$(function(){
    var move={
    a:function(){
     $("#zd").animate({left:"+=1px"},15);
    },
    b: function(){
     $("#zd1").animate({left:"+=1px"},15);
    }
    };

    var am=false;
    var bm=false;
       jQuery(document).bind('keydown', 'a',function (evt){
       am=true;
       if(bm){
         move.b();
       }
      move.a();
      }).bind('keydown', 'b',function (evt){
       bm=true;
        if(am){
         move.a();
        }
        move.b();
       }).bind('keyup', 'a',function (evt){
       am=false;
       }).bind('keyup', 'b',function (evt){
       bm=false;
       });
     });
      

  6.   

    jquery-small.js
    这个js不用解释了吧
    jquery.hotkeys.js
    这个js是键盘事件的插件
    上面的move对象 改为下面的这个。var move={
        a:function(){
         $("#zd").animate({left:"+=1px"},0);
        },
        b: function(){
         $("#zd1").animate({left:"+=1px"},0);
        }
                };
      

  7.   

    好吧,这句话貌似和你最上面的要求矛盾。
    下面的符合你这次要求了。
    还是不清楚如果同时按你的要求是什么$(function(){
    var move={
        a:function(){
         $("#zd").animate({left:"+=1px"},15);
        },
        b: function(){
         $("#zd1").animate({left:"+=1px"},15);
        }
                };
                
             
       jQuery(document).bind('keydown', 'a',function (evt){
      move.a();
      }).bind('keydown', 'b',function (evt){
                   move.b();
       });
     });
      

  8.   


    我用的是ie8,jq1.3.2。。我按下那个键都会移动。。
      

  9.   

    俺这个就是按那个走那个,互不影响了不过乱写的,只在FF下试了一下上班中,要低调!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="jquery.js"></script>
    </head>
    <body>
    <div id='a' style="position:absolute;left:10px;top:10px;width:200px;height:120px;background:#f0f">0</div>
    <div id='b' style="position:absolute;left:100px;top:200px;width:200px;height:120px;background:#0ff">0</div>
    <script type="text/javascript">
    $(document).ready(function() {
    var alist = {};
    var atimer = null;
    $(document).keydown(function(e) {
    action(e.keyCode, 'move'); }).keyup(function(e) {
    action(e.keyCode, 'stop');
    });

    function action(k, act) {
    if(k == 65 || k == 66) {
    if(act == 'move') {
    alist[k] = k == 65? '#a' : '#b';
    if(!atimer) {
    atimer = setInterval(function() {
    $.each(alist, function(i, v) {
    if(v) {
    $(v).css('left', ($(v).position().left + 10));
    }
    });
    }, 20);
    }
    } else {
    alist[k] = null;
    if($.isEmptyObject(alist)) {
    clearInterval(atimer);
    atimer = null;
    }
    }
    }
    }
    });
    </script>
    </body>
    </html>
      

  10.   


    我想问你下,你加载这个js包了吗?
    jquery.hotkeys.js
      

  11.   

    搞定了 就是#21的,你太牛X了。。while(true)
    {
      感谢!!!;
    }