2017-04-12 63 views
0
$(window).keydown(function(event){ 
    var c = String.fromCharCode(event.which); 
    if (c === 'a'){ 
     myImage.css("height", "+=2"); 
     myImage.css("width", "+=2"); 
    } else if (c === 's'){ 
     myImage.css("height", "-=2"); 
     myImage.css("width", '-=2'); 
    } 
}); 

這是我的代碼,我想使圖像2個像素較小時,按下S鍵和2個像素大當一個鍵被按下。該代碼現在不做任何事情。變化大小按

我得到一個警告「使用getpreventdefault的()已過時」,但我不認爲這是什麼原因造成這一點。

編輯:我應該提到的警告只按下一個鍵後出現。

+0

我不相信你可以使用' - = 2'作爲這樣的CSS屬性。您可能需要執行數學運算(獲取當前大小,減去或加2),然後將該特定寬度應用於圖像。作爲一個側面說明,我會專注於設置寬度或高度,並保留其他屬性爲「自動」 - 將大大簡化事情。 –

+0

我曾使用的早期版本變種高度= $(MYIMAGE).height()+ 2;和\t myImage.css(「height」,height);仍然沒有工作 –

+0

因此,在我的測試中,似乎字母代碼以大寫形式出現,儘管我沒有指定大寫 - 請參閱我如何更改IF語句以使此小提琴工作(並且,順便說一句,你的 - = 2是實際可行的):https://jsfiddle.net/cale_b/5hzqe8o6/ –

回答

0

只要計算的寬度和高度爲每個按鍵。更新寬度和高度。

$(window).keydown(function(e){ 
    var $img = $('#myImg'), 
     key = e.which, 
     height = $img.height(), 
     width = $img.width(); 

    if (key === 65) 
    $img.css("height", height + 2).css("width", height + 2); 
    else if (key === 83) 
    $img.css("height", height - 2).css("width", height - 2); 
}); 

退房的fiddle here的工作示例。如果你需要計算不同的密鑰,你可以得到密鑰from this sweet codepen