定时动画gif显示

时间:2016-04-28 12:30:35

标签: javascript jquery animation animated-gif

Noob Alert .....

我搜索过以前的问题,但找不到这个具体请求。

对于我的Art项目,我创建了一个动画gif,并希望它在我为其他项目创建的网站上显示/运行我的动画gif 每天只需一小时

我有这个非常相似的脚本,但我需要自动显示(每天一小时),而不是单击或步进。我可以摆脱这些阶段,但不知道如何替换它们。

      JavaScript动画

  <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 = parseInt(imgObj.style.left) + 10 + 'px';
           animate = setTimeout(moveRight,20); // call moveRight in 20msec
        }

        function stop(){
           clearTimeout(animate);
           imgObj.style.left = '0px'; 
        }

        window.onload =init;
     //-->
  </script>

提前谢谢.....

1 个答案:

答案 0 :(得分:0)

好的,首先要注意的是,您必须时不时地查看当前时间,以检查我们是否在您想要显示动画的那个特定时刻。

让我们举个例子:13h到14h(下午1点和下午2点) - 从现在开始,我将使用24h表示法。

我们可以使用interval检查它是否已经过了13h。我们自己选择精度。为了举例,我们说我们每隔5分钟检查一次:

//Note: we could say "300000" immediately instead, but with the calculation, we can easily change it when we want to.
var gifInterval = setInterval(function() {canWeAnimateYet ();}, 5 * 60 * 1000);

所以,我们得到了一个每5分钟检查一次的间隔。现在我们需要一个flag(或bool)来查看动画是否应该运行...

var animateThatGif = false;

现在..我们需要这个功能来检查时间:

var canWeAnimateYet = function() {
    //Checks here.
}

在该功能上,我们需要检查当前时间。如果它已经过了13,但是在14h之前,我们需要将标记设置为true,否则它会保留false

var canWeAnimateYet = function() {

     //Get current time
     //Note: "new Date()" will always return current time and date.
     var time = new Date();

     //Note: getHours() returns the hour of the day (between 0 and 23 included). Always in 24h-notation.
     if (time.getHours() >= 13 && time.getHours < 14)
        animateThatGif = true;
     else
        animateThatGif = false;
}