js获取不到div.style.left,解决方案

element.style.left 只能获得element的行内样式,一般写在style或css文件内的left就无法获得。

解决方案,通过字符串截取和隐式转换

var oBox=$(“box”);
document.onkeydown=function(evt){
var e = evt||window.event;
var addNum = 10;
var _left = strToNum(oBox.style.left);
var _top = strToNum(oBox.style.top);
if(e.keyCode==37){
oBox.style.left=(_left-addNum)+”px”
}
if(e.keyCode==38){
oBox.style.top=(_top-addNum)+”px”;
}
if(e.keyCode==39){
oBox.style.left=(_left+addNum)+”px”;
}
if(e.keyCode==40){
oBox.style.top=(_top+addNum)+”px”;
}
}
}
function $(id){
return document.getElementById(id);
}
function strToNum(str){
var index = str.indexOf(“px”);
return str.substring(0,index)-0;

}