javascript - 如何使用 style.left 从右向左移动图像?

标签 javascript html css

我正在学习 coursera 的编程类(class),第 3 周第 12 章向我们展示了如何使用 style.left 移动图像,当我运行 <script> 时。什么也没发生,控制台也没有显示任何错误,我不知道出了什么问题。这是代码:

<!DOCTYPE html>
<html lang="">
<head>
    <meta charset="UTF-8">
    <title>set time</title>
    <meta name="Author" content=""/>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script>
        var the_timer, x_position = 0, the_image;
        function do_timer(){

            the_image = document.getElementById("stones_img");
            x_position = x_position + 1;
            the_image.style.left=x_position;
            console.log(x_position);
        }
    </script>
</head>

    <body onload="the_timer=setInterval(do_timer, 50)">
        </br>
    <button onclick="clearInterval(the_timer)">Clear</button>


    </br>       </br>       </br>
    <img id="stones_img" src="http://i47.photobucket.com/albums/f196/overcracker/Blog/thundercats.png"  style="position:absolute; left:10000">

</body>
</html>

最佳答案

您需要将单位添加到left 值:

the_image.style.left = x_position + "px";

附言我知道这是一个类(class)元素,但请注意,从性能的 Angular 来看,这不是为元素设置动画的好方法 :) 更好的方法是使用 CSS 动画或过渡,这不会导致浏览器重新布局并且可以进行硬件加速。

供引用:

http://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/

http://www.sitepoint.com/introduction-to-hardware-acceleration-css-animations/

关于javascript - 如何使用 style.left 从右向左移动图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35326996/

相关文章:

javascript - 使用 AngularJs 制作月度出勤报告

javascript - 我需要nodejs还是只能依赖Nginx?

html - 控制宽度为 :100% 的固定位置元素的宽度

javascript - 在内部 div 中捕获滚动

css - 使用 CSS 线性渐变生成纯色(不是平滑颜色)

css - 根据分辨率重新排列 Bootstrap 标记

html - HTML 音频/视频有问题

javascript - Web 组件 : how to access a slotted element using shadowRoot. querySelector

javascript - js根据选项选择更改选择名称

javascript - 音乐播放完毕后自动刷新网页