JS - 移动图像,暂停设定时间,然后移回图像

时间:2015-03-18 07:57:47

标签: javascript html if-statement time

我想创建一个像fly()这样的新函数,它将在暂停20秒后反转fly()的作用。原始的fly()函数将图像从左侧水平移动到屏幕外页面的中心,图像保持静止。

我想创建一个功能,在图像保持静止20秒后将图像移回屏幕外。 “20秒后”部分给了我最大的悲伤。如果你能告诉我新功能会是什么样子,或者对当前功能的“其他”添加会很棒。

如果可能的话,请根据我所拥有的内容保持简单,以便我理解。

<script language="JavaScript" type="text/JavaScript">

var x = -500;   
var y = 100;  


function fly(val) {

if (x <= 500){
x = x + val;    
document.getElementById("pos").style.left = x + "px";
setTimeout("fly(5)", 10);
}

}
</script>

<style type="text/css">
<!--
#pos {
position: absolute;
left: -500px;
top: 100px;
z-index: 0;
}

</style>


<body onLoad="setTimeout('fly(5)',5000)">
<div id="pos"> 
<a href="#"><img src="image.jpg"></a>
</div>

1 个答案:

答案 0 :(得分:2)

在达到x = 500的限制后,

最简单的是setTimeout,正如你所说的else子句:

var x = -500;

function fly(val) {
    if (x <= 500){
       x = x + val;    
       document.getElementById("pos").style.left = x + "px";
       setTimeout("fly(5)", 10);
    }
    else {
       setTimeout("flyBack(5)", 20000);
    }

} 

function flyBack(val) {
    if (x >= -500){
       x = x - val;    
       document.getElementById("pos").style.left = x + "px";
       setTimeout("flyBack(5)", 10);
    }
}