【发布时间】:2016-11-09 15:13:35
【问题描述】:
我遇到了一个网站的挑战,该网站要求我让两张图片在屏幕上随机比赛到终点线。我需要使用 JavaScript 来实现这一点。不幸的是,我在这里遇到了一些麻烦。
我的脚本允许 div 容器和对象“动画”(这是一个小方块)按照我应该做的那样在屏幕上向右移动。当尝试对两个不同的图像执行此操作时,我的问题就发挥了作用。
目标是让我创建的动画应用于图像,我不知道如何将功能应用于已经放置在页面上的图像,以使其看起来好像它们在整个页面上以随机间隔运行页面到终点线。
我了解动画的概念及其背后的 JavaScript,但我只是不明白如何将其应用于图像,以及超过 1 个图像。
请指教。
这是我正在使用的代码:您可以看到我在页面上留下了演示动画,以及我希望将其应用到的两个图像。
function myMove()
{
var elem = document.getElementById("animate");
var pos = 0;
var id = setInterval(frame, 5);
function frame()
{
if (pos == 350)
{
clearInterval(id);
}
else
{
pos++;
elem.style.left = pos + 'px';
}
}
}
<div id="traffic-light">
<div id="stopLight" class="bulb"></div>
<div id="yeildLight" class="bulb"></div>
<div id="goLight" class="bulb"></div>
</div>
<style>
body {
overflow: hidden;
}
#bluefish {
position: absolute;
top: 31pc;
width: 17pc;
left: -.5pc;
}
#turtle {
position: absolute;
width: 15pc;
top: 20pc;
}
body {
background-image: url("http://www.hpud.org/wp-content/uploads/2015/08/WaterBackground2.jpg")
}
.finishline {
position: absolute;
right: -12pc;
top: 18pc;
}
#traffic-light {
height: 10pc;
width: 4pc;
background-color: #333;
border-radius: 20pc;
position: absolute;
}
.bulb {
height: 2pc;
width: 2pc;
background-color: #111;
border-radius: 50%;
margin: 15px auto;
transition: background 500ms;
}
#container {
width: 400px;
height: 400px;
position: relative;
background: yellow;
}
#animate {
width: 50px;
height: 50px;
position: absolute;
background: red;
}
</style>
<img id="bluefish" src="http://clipartist.net/openclipart.org/2013/July/Blue_Fish_Goldfish.png">
<img id="turtle" src="http://www.clipartkid.com/images/386/turtle-free-stock-photo-illustration-of-a-green-sea-turtle-uPgZrm-clipart.png">
<img src="https://t1.rbxcdn.com/877010da8ce131dfcb3fa6a9b07fea89" class="finishline">
<p>
<button onclick="myMove()">Click Me</button>
</p>
<div id="container">
<div id="animate"></div>
</div>
【问题讨论】:
标签: javascript jquery html css image