如何在javascript中进行重复移动?
我正在使用JavaScript在下载文件时制作一个进度条。我已经把它作为一张图片从服务器移动到客户端,但我不知道如何让它重复,所以进程将继续。我用过这个脚本。我该怎么办如何在javascript中进行重复移动?,javascript,function,move,Javascript,Function,Move,我正在使用JavaScript在下载文件时制作一个进度条。我已经把它作为一张图片从服务器移动到客户端,但我不知道如何让它重复,所以进程将继续。我用过这个脚本。我该怎么办 <style type="text/css"> #apDiv1 { position:absolute; width:142px; height:140px; z-index:1; background-color: #FFFFFF; background-image:
<style type="text/css">
#apDiv1 {
position:absolute;
width:142px;
height:140px;
z-index:1;
background-color: #FFFFFF;
background-image: url(server.png);
}
#apDiv2 {
position:absolute;
width:142px;
height:140px;
z-index:2;
left: 500px;
top: 15px;
background-color: #FFFFFF;
background-image: url(laptop.png);
}
#apDiv3 {
position:absolute;
width:346px;
height:140px;
z-index:3;
left: 153px;
top: 15px;
}
body {
}
</style>
<div id="apDiv1"></div>
<div id="apDiv2"></div>
<div id="apDiv3"><br />
<script type="text/javascript">
<!--
var imgObj = null;
var animate ;
function init(){
imgObj = document.getElementById('myImage');
imgObj.style.position= 'relative';
imgObj.style.left = '0px';
}
function moveRight(){
imgObj.style.left = 200 + 200 + 'px';
if (10 <= left) {
imgObj.style.left = (left + 300) + 'px';
imgObj.style.visibility='visible';
} else
if (left>=500) {
imgObj.style.left = '0px';
}
}
function animate(){
animate = setTimeout(moveRight,200);
}
window.onload =init;
//-->
</script>
</head>
<body>
<form>
<img src="file:///C|/Documents and Settings/Administrator/Desktop/New Folder (2)/folder.png" width="65" height="67" id="myImage" />
<p>Click the buttons below to handle animation</p>
<input type="button" value="Shkarko" onclick="moveRight();" />
</form>
</div>
#apDiv1{
位置:绝对位置;
宽度:142px;
高度:140像素;
z指数:1;
背景色:#FFFFFF;
背景图片:url(server.png);
}
#apDiv2{
位置:绝对位置;
宽度:142px;
高度:140像素;
z指数:2;
左:500px;
顶部:15px;
背景色:#FFFFFF;
背景图片:url(laptop.png);
}
#第3章{
位置:绝对位置;
宽度:346px;
高度:140像素;
z指数:3;
左:153px;
顶部:15px;
}
身体{
}
单击下面的按钮以处理动画
使用setInterval()
而不是setTimeout()
:
当您准备好让它停止动画时,请调用clearInterval(animateInterval)
确保重命名animate
变量,使其不会与animate()
函数冲突。您还需要在某个时候实际调用animate()
,才能开始
编辑:您需要打开JavaScript控制台,查看收到的错误消息(提示:按f12键)。由于未定义left
,因此moveRight()
的第二条语句出现错误
另外,从不调用animate()
,因此您设置的任何间隔或超时都不会被触发
moveRight()
中存在逻辑错误。即使定义了left
,也永远不会调用您的else if
语句。如果left
大于500
,则它也大于10
。第一个if
将被调用,而else if
将被忽略
您的HTML无效。您有一个关闭的
标记,但没有匹配的打开的
标记。您有一个打开的
标记,而没有一个关闭的
标记。如果您确实有这些标记,那么您将遇到其他问题,
元素将位于
中,因此甚至不会被渲染。最后一个
元素的结束标记将出现在
中,即使打开的标记在
中,您正在使用的左
变量是什么?它没有声明或设置在任何地方…需要与之配套的HTML。你能躲开它吗?@Arsi-我不知道它以前会怎么移动。您的代码逻辑似乎有点不可靠。也许你没有发布所有内容。我已经更新了源代码,我已经复制了我编写的所有html,当我点击按钮时它就工作了。我能做什么?我如何编写e-java脚本来下载程序,我想把它用于学校的一个项目。我不知道还需要做什么。@Arsi-看起来在开始尝试使用JavaScript之前,您需要回到基础。也许从谷歌开始。看,我已经做到了:
function animate(){
animateInterval = setInterval(moveRight,200);
}