javascript - 如何在特定像素处停止图像?

标签 javascript html css

如何在特定像素处停止移动图像? 对 javascript 有点陌生

一直在尝试使用 if-else,不确定我输入的代码是否正确。

var imgObj = null;
var animate ;
function init(){
   imgObj = document.getElementById('xTank');
   imgObj.style.position= 'relative'; 
   imgObj.style.left = '0px'; 
}

function moveRight()
{
    if(imgObj<400){
        imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
        animate = setTimeout(moveRight,70); // call moveRight in 20msec
       }
    else
       {
        stopanimate = setTimeout(moveRight,70);
       }
}

window.onload =init;

最佳答案

您需要检查左侧样式值,而不是图像对象本身:

function moveRight()
{
    if(parseInt(imgObj.style.left, 10) < 400){
        imgObj.style.left = parseInt(imgObj.style.left, 10) + 10 + 'px';
        setTimeout(moveRight,70); // call moveRight in 20msec
       }
    else
       {
        //stopanimate = setTimeout(moveRight,70); // no need to animate it anymore
       }
}

另外,不要忘记在某个时候调用您的 moveRight 函数。

参见此处:http://jsfiddle.net/shomz/gj3Sa/

关于javascript - 如何在特定像素处停止图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094550/

相关文章:

javascript - Flot 无法在某些浏览器上呈现图表

javascript - 停止滚动自动定位列

css - 包含 maxwidth 元素的 Twitter Bootstrap 流体容器

jquery - 将变量传递给 jquery 中的另一个函数

javascript - 无法在 JavaScript 中设置最小输入日期

尝试返回数字时,Javascript 将 Number 转换为 undefined

运行此脚本时,javascript 在浏览器中崩溃,出了什么问题?

html - 在 Bootstrap 中连续居中带有标签的 2 个图像

jquery - 在不更改类的情况下使用 jquery 更改 css

javascript - 我可以将使用 div 和 border-radius 创建的圆分成 6 个相等的部分并获得该点坐标吗?