0
function mov_left() {
    if (parseInt(document.getElementById('fold').style.left, 10) == 430) {
        clearInterval(animel);
    }
    document.getElementById('fold').style.left = (parseInt(document.getElementById('fold').style.left, 10) - 10) + 'px';
}

animel = setInterval('mov_left()', 100);

这是我试图用来移动<div>包含 2 个图像的代码,以便他们可以一次显示两个图像。然而,图像只是继续向左移动,忽略if函数中的语句。

请帮忙。

4

2 回答 2

0

好吧,我已经摆弄了它,并没有太大的变化,但我知道这很有效:

function mov_left() {
    var el = document.getElementById('fold');
    if (parseInt(el.style.left, 10) == 430) {
        clearInterval(animel);
    }
    el.style.left = (parseInt(el.style.left, 10) - 10) + 'px';
}
animel = setInterval(function () {mov_left(); }, 100);

JSfiddle:http: //jsfiddle.net/m7q3H/42/

于 2012-08-06T11:35:21.787 回答
0

如果没有设置 element 的左 css 属性 element.style.left 将返回一个空字符串, parseInt 将返回 NAN。

于 2012-08-06T11:41:25.223 回答