Javascript 如何在不刷新页面的情况下重复此代码?设定间隔?其他的?

Javascript 如何在不刷新页面的情况下重复此代码?设定间隔?其他的?,javascript,flash,rotation,setinterval,Javascript,Flash,Rotation,Setinterval,您好,我已经写了一些Javascript,我需要每秒钟运行一次。这实际上是一个太阳的闪光设计,应该随着太阳在外面的实际位置而改变 this.addEventListener("tick",fl_RotateContinuously.bind(this)); var currentdate = new Date(); function fl_RotateContinuously(){ this.sky1.rotation=(currentdate.getHours(

您好,我已经写了一些Javascript,我需要每秒钟运行一次。这实际上是一个太阳的闪光设计,应该随着太阳在外面的实际位置而改变

    this.addEventListener("tick",fl_RotateContinuously.bind(this));
    var currentdate = new Date();
    function fl_RotateContinuously(){
    this.sky1.rotation=(currentdate.getHours()*15-90)+(currentdate.getMinutes()*3/12)+(currentdate.getSeconds()*3/720);

  } 

上述代码起作用,并在正确位置显示太阳。但是,我需要代码每秒运行一次,否则用户需要刷新HTML页面以查看太阳的新位置。我已经尝试使用setInterval()代码让函数每秒运行一次,但是我一定没有正确地编写它,因为它不起作用。也许这根本不是正确的方法。。。有人能告诉我每秒重复这个功能的正确方法吗

您介意展示一下您的设置间隔方法吗

一种实施方法是:

window.setInterval(function() { fl_RotateContinuously(); }, 1000); //1000 (ms) = 1s

使用setInterval函数的方式是

setInterval(functionName, 1000)
第一个参数是未调用的函数名,第二个参数是希望它等待再次调用函数的时间(以毫秒为单位)


所以我最后放了:setInterval(fl\u连续旋转。bind(this),1000);这确实有效,但当我在浏览器中播放时,它变得越来越慢。我也尝试了你的方法,但它不起作用,我需要手动刷新页面以查看旋转程度的任何差异。你在原始帖子中的代码只显示fl_RotateContinuously()中更新了一个变量;功能。也许你的太阳只画了一次,而不是每次你更新变量时都更新?我可能是完全错误地使用了这个函数<代码>this.addEventListener(“勾号”,fl_连续旋转.bind(this));var currentdate=新日期();函数fl_RotateContinuously(){this.sky1.rotation=(currentdate.getHours()*15-90)+(currentdate.getMinutes()*3/12)+(currentdate.getSeconds()*3/720);}我注意到,如果最后一行代码为:
this.sky1.rotate+=10,我可以让对象连续旋转。。。我需要在=号后面的等式。这很奇怪,因为这段代码在ActionScript中工作得非常好<代码>addEventListener(Event.ENTER_FRAME,timehandler);函数timehandler(event:event):void{var currentdate:Date=new Date();sky1.rotation=(currentdate.hours*15-90)+(currentdate.minutes*3/12)+(currentdate.seconds*3/720);}
是否有更好的方法将此代码转换为JavaScript?