javascript - 如何使用javascript移动图像

标签 javascript css variables positioning

我无法让这张图片向右移动任何人都可以帮助我刚刚开始编写脚本,我发现它非常困惑。

<html>
<head>
</head>
<body style="margin:0px;">
<img id="tank" style="position:absolute;"src="tank.png"/>
<script type="text/javascript">
var change = document.getElementById('tank').style.left = '0';

while(change < 200)
{
change++;
}
</script>
</body>
</html>

最佳答案

那个脚本有很多问题......

首先,您试图将一个整数设置为 CSS 长度 - 非零长度需要一个您没有提供的单位。

其次,原始值不会因为您希望它们而通过引用传递。然而,对象是。因此,您可以跟踪 document.getElementById('tank').style 并更改其 left 属性以移动图像。

第三,浏览器不会在脚本运行时重绘页面,这意味着如果你让脚本移动图像,它会立即到达它的结束位置(你甚至不会在开始时看到它由于脚本立即运行而导致的位置)。

我认为这涵盖了您做错的所有事情。下面是正确的做法。

(function() {
// don't leak variables into the global scope - think "variable = carbon dioxide"
    var elem = document.getElementById('tank'), pos = 0,
        timer = setInterval(function() {
            pos++;
            elem.style.left = pos+"px";
            if( pos == 200) clearInterval(timer);
        },25);
})();

关于javascript - 如何使用javascript移动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702319/

相关文章:

c++ - 参数类没有 move 构造函数时IDE推荐 'pass by value and use std move'

javascript - 各种 javascript 元素的跨浏览器兼容性

javascript - Angular 搜索过滤器 - 未知提供商

javascript - Android 在 WebView 中调用 API <= 18 的 JavaScript 函数

java - 过度使用 final 会弊大于利吗?

javascript - 试图找出 jquery 语法

JavaScript/正则表达式 : strip first <p> if it matches a critheria

php - 动态和静态 HTML 中 div 悬停样式的不同行为

html - 如何使 bootstrap 网格中的 4 列中断为两列然后一列

html - 如何将一个 div 与另一个 div 中的图像水平对齐