Javascript 模拟时钟的setInterval()

Javascript 模拟时钟的setInterval(),javascript,rotation,setinterval,clock,Javascript,Rotation,Setinterval,Clock,我对JavaScript非常陌生,在使用etInterval时遇到困难 我正在制作一个模拟时钟作为练习。我有一个函数setTime,它通过相应地旋转箭头来获取和显示时间 我想一次又一次地执行这个函数 这是我的密码: $(document).ready(function(){ function setTime(){ var d = new Date(); var hour = d.getHours();

我对JavaScript非常陌生,在使用etInterval时遇到困难

我正在制作一个模拟时钟作为练习。我有一个函数setTime,它通过相应地旋转箭头来获取和显示时间

我想一次又一次地执行这个函数

这是我的密码:

    $(document).ready(function(){

        function setTime(){
            var d = new Date();
            var hour = d.getHours();
            var minute = d.getMinutes();
            var hourRotation = hour * 30 + (minute / 2);
            var minuteRotation = minute * 6;
            $("#small").css({
                "-webkit-transform": "rotate(" + hourRotation + "deg)",
                "-moz-transform": "rotate(" + hourRotation + "deg)",
                "-o-transform": "rotate(" + hourRotation + "deg)"
            });
            $("#big").css({
                "-webkit-transform": "rotate(" + minuteRotation + "deg)",
                "-moz-transform": "rotate(" + minuteRotation + "deg)",
                "-o-transform": "rotate(" + minuteRotation + "deg)"
            });
        };
        function clockStart(){
            setInterval(setTime(),1000);
            setTime();
        }
        clockStart();
    });

我想了解这个方法以及如何使用它。我能找到的例子看起来很明显,但我仍然无法让它起作用

您正在setInterval中进行函数调用

您要做的是:

setInterval(setTime,1000);

您正在setInterval中进行函数调用

您要做的是:

setInterval(setTime,1000);
调用setInterval函数时,不会将函数引用作为参数传递,而是传递其返回值。 因此,您应该使用:

setInterval(setTime,1000);

调用setInterval函数时,不会将函数引用作为参数传递,而是传递其返回值。 因此,您应该使用:

setInterval(setTime,1000);

行setIntervalsetTime中的函数setTime,1000;在调用setInterval函数之前进行求值,并且setTime的求值结果作为参数传递给setInterval函数,而不是作为参数传递给函数istelf

您需要做的是将函数调用setTime替换为函数setTime的名称,如下所示: setIntervalsetTime,1000

行setIntervalsetTime中的函数setTime,1000;在调用setInterval函数之前进行求值,并且setTime的求值结果作为参数传递给setInterval函数,而不是作为参数传递给函数istelf

您需要做的是将函数调用setTime替换为函数setTime的名称,如下所示: setIntervalsetTime,1000