2013-11-22 24 views
-1

你好我有,當我點擊左邊的字「艾哈邁德」向左走5 PX 再次單擊5像素時,在我的代碼 的問題,額外的問題是 我需要點擊左側鍵盤字移動並繼續移動 ,直到我讓關鍵 的方式在網站 想象10號,我想通過點擊下來的時候繼續單擊 增加10值將降低jQuery的KEYUP事件,請幫我

這裏進入,看到我的問題 http://masry.host56.com/moving_object/index.php

+1

請在這裏發表相關的代碼,很多人在這裏仍然使用56k連接網絡 –

+1

我假設一旦你得到一個答案,你就要解決這個問題......將鏈接指向當前無用的內容。如果相關代碼包含在問題中 - 或者至少,如果您創建並鏈接到http://ideone.com或http://jsfiddle.net等網站上的演示,所以說明問題的代碼可以在您修復您的網站後看到。 – cHao

回答

0

在這裏你,我一直工作在這個搗鼓你:

<p id="move" style="position:absolute;left:0;top:0;">test</p> 

JS:

$(document).ready(function(){ 
var element = $("#move") 
, doc = $(document) 
, Motion 
, goRight = function(){ 
    element.css("left" ,1+ parseInt(element.css("left"))); 
    if (Motion === goRight) { 
     setTimeout(goRight , 10); 
    } 
} 
goUp = function(){ 
    element.css("top" , parseInt(element.css("top")) -1); 
    if (Motion === goUp) { 
     setTimeout(goUp , 10); 
    } 
} 
goDown = function(){ 
    element.css("top" ,1+ parseInt(element.css("top"))); 
    if (Motion === goDown) { 
     setTimeout(goDown , 10); 
    } 
} 
goleft = function(){ 
    element.css("left" ,parseInt(element.css("left"))-1); 
    if (Motion === goleft) { 
     setTimeout(goleft , 10); 
    } 
}; 

doc.keydown(function(e) { 
    if (e.which === 39 && Motion !== goRight) { 
     Motion = goRight; 
     goRight(); 
    } 
    else if(e.which === 38 && Motion !== goUp){ 
     Motion = goUp; 
     goUp(); 
    } 
    else if(e.which === 37 && Motion !== goleft){ 
     Motion = goleft; 
     goleft(); 
    } 
     else if(e.which ===40 && Motion !== goDown){ 
     Motion = goDown; 
     goDown(); 
    } 

}); 

doc.keyup(function() { 

    Motion = null; 
}); 
}); 

http://jsfiddle.net/Imadbakir/5yShL/22/

+0

謝謝,但可以讓我的代碼在所有迪爾 左,右,下,和上 – user3022209

+0

@ user3022209,編輯。 – ImadBakir

+0

完美thaaaaaaanks – user3022209