2013-07-26 46 views
0

以下代碼在提示中返回NaNparseInt正在爲CSS屬性返回NaN

var left = parseInt(document.getElementById('box').style.left, 10); 

if (key.keyCode == 37) { 
    var new_left = (left - 50) + 'px'; 
    document.getElementById('box').style.left = new_left; 
    left = new_left; 
} 

alert(new_left); 

即使我使用的left代替new_left返回NaN

我敢肯定,這與我應得的價值的事,但我還能怎麼做呢?

請勿使用jQuery。謝謝

+1

什麼警報(的document.getElementById( '盒子')style.left);返回? – Naddiseo

+0

這是因爲這個值包含'px' - 嘗試先剝離出來。 –

+0

naddiseo它什麼也沒有返回(空白)。標記,我認爲parseInt會刪除px。喬納森,這是一個字符串。謝謝 – cantsay

回答

1

你確定該元素有一個style.left開始? parseInt函數( 「」,10)NaN的

結果

試試這個:

var left = parseInt(document.getElementById('box').style.left || 0, 10); 
+0

我已經使用CSS設置左邊('left:100px;') - CSS位於文檔的頭部,JS是在關閉body和html標籤之間。謝謝 – cantsay

+1

我認爲style.left屬性專門用於內聯CSS。例如:

+0

謝謝!這工作。任何想法如何我可以用樣式表中的CSS做到這一點,以保持HTML/CSS分離? – cantsay