0

此页面在加载时自动调用函数 moveit()。moveit() 上下移动图像(一条线)。我希望这种情况持续发生;但是,我不知道如何让我的功能重新启动。目前,每次该行到达页面底部时,我都会重新加载页面。但这需要很多时间,所以我想重新启动该功能。谢谢!

<html manifest="manifest.appcache">

<body onload="moveit(8)">

<img style="margin: 0 auto;" src="http://media.tumblr.com/593368ddaf4ad655258a076f959856fa/tumblr_inline_mgmuspje6G1re2ao1.bmp"></img>
<style type="text/css">

                .moveimage { position:absolute; right:0; bottom:0; z-index:2 }

}

</style>

<script language="JavaScript">

function moveit(spot)
{

if (document.getElementById("image1"))
  {
   var picture=document.getElementById("image1").style;
      if (spot<328)
      {
        picture.bottom= spot;
        spot+=3.7;
        setTimeout('moveit('+spot+')',15);
       }
      if (spot>328)
      {
                picture.top= spot;
        spot+=1.25;
                setTimeout('moveit('+spot+')',10);
      }
      if (spot>650)
      {
                window.location.reload();
      }
   }

}

</body>

</script>


</html>
4

3 回答 3

2

换行就好

window.location.reload();

picture.bottom = 0; // reset
picture.top = ""; // reset

moveit(); // and start over again
于 2013-01-14T22:15:47.513 回答
0

您可以替换此行:

window.location.reload();

有类似的东西:

setTimeout(function() { moveIt(8); }, 10);

其中参数8与您在onload处理程序中使用的参数相同 - 或者当然您可以将其设置为任何其他适当的值。

于 2013-01-14T22:14:14.440 回答
0

此事件处理程序将触发 html 滚动事件。

$('html').scroll(function(){
//do something
})

你也可以在任何带有overflow:scrolloverflow:auto的容器上使用它。

于 2013-01-14T22:17:27.347 回答