我有我正在使用的以下代碼行。但它只是似乎redunent,我很好奇,如果有一個優化的替代以下...如何用jquery壓縮代碼行?
if(mkey[65]){ //this is left! (a)
var nextpos = $("#item").x()-player.speed;
if(nextpos > 0){
$("#item").x(nextpos);
}
}
if(mkey[68]){ //this is right! (d)
var nextpos = $("#item").x()+player.speed;
if(nextpos < pg.width - 100){
$("#item").x(nextpos);
}
}
if(mkey[87]){ //this is up! (w)
var nextpos = $("#item").y()-player.speed;
if(nextpos > 0){
$("#item").y(nextpos);
}
}
if(mkey[83]){ //this is down! (s)
var nextpos = $("#item").y()+player.speed;
if(nextpos < pg.height - 30){
$("#item").y(nextpos);
}
}
我想過使用jQuery的每一種方法,但只花了我到目前爲止,因爲我不知道您是否可以將自定義JavaScript函數存儲到數據對象中...
感謝您的任何建議!
這是我曾嘗試......(沒有運氣)
$.each([
{keypress: mkey[65], item:$("#item").x()-player.speed},
{keypress: mkey[68], item:$("#item").x()+player.speed},
{keypress: mkey[87], item:$("#item").y()-player.speed},
{keypress: mkey[83], item:$("#item").y()+player.speed}
], function(i, obj) {
if (obj.keypress) {
if(obj.item > 0) { $("#item").x(obj.item);}
}
});
* [你有什麼試過?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)* – zzzzBov
http://codereview.stackexchange.com/ – MetalFrog