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>
提前谢谢.....
答案 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;
}