移动div时的奇怪行为

时间:2012-09-08 10:48:15

标签: javascript dom-manipulation

我想用箭头键和javascript(没有jquery)移动多个DIV。 我所有的DIV都有“位置:绝对”等等...... 我为此做了一个功能:

function move(orig, val) {
    var num = parseInt(orig);
    return ((num + val) + "px");
}

我应用这样的移动功能:

myDiv.style.left= move(myDiv.style.left, moveX);

它只是“有效”,因为我注意到当我的一个DIV左边的样式< 0,左边的其他DIV> 0“移动”比他快。因此,如果我来回重复,最后我所有的DIV都有相同的左边(没有尝试这个垂直移动和最高值)。

先谢谢你的帮助(请原谅我的英语不好)。

1 个答案:

答案 0 :(得分:0)

我怀疑parseInt不适合你的情况。如果你使用非整数,那么添加例如由于整数舍入,1.5将有效地表现为您添加了2。这将无意中使其移动得更快。

您有几种选择:

  • 使用parseFloat保留小数部分。
  • 使用+orig.replace("px", ""),它适用于非整数(或* 1等其他技巧)。