0
function moveLeft(obj){ 
    obj.style.left = parseInt(obj.style.left) - 0.5 + "%";
}

function moveRight(obj){
    obj.style.left = parseInt(obj.style.left) + 0.5 + "%";
}

这里的代码应该通过更新百分比而不是像素来将我的图像对象向左和向右移动。moveLeft 有效,但 moveRight 无效。它与关联性有关吗?

4

2 回答 2

0
function moveRight(obj){
    obj.style.left = parseInt(obj.style.left) + 0.5 + "%";
}

您使用 style.left 而不是 style.right

于 2013-07-30T22:26:13.053 回答
0

问题是当您调用 parseInt() 时,它会返回向下舍入的值。所以你实际上并没有移动 0.5%,而是 1%。这样,最好的解决方案是在每一步增加 1:

function moveLeft(obj){ 
    obj.style.left = (parseInt(obj.style.left, 10) - 1) + "%";
}

function moveRight(obj){
    obj.style.left = (parseInt(obj.style.left, 10) + 1) + "%";
}
于 2013-07-30T22:40:33.153 回答