【问题标题】:setInterval() for an analogue clocksetInterval() 用于模拟时钟
【发布时间】:2011-07-21 17:40:33
【问题描述】:

我对 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();
    });

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

【问题讨论】:

    标签: javascript rotation setinterval clock


    【解决方案1】:

    您正在setInterval() 中进行函数调用。

    你想做的是:

    setInterval(setTime,1000);
    

    【讨论】:

      【解决方案2】:

      当您调用setInterval 函数时,您不会将函数引用作为参数传递,而是返回值。
      所以你应该使用:

      setInterval(setTime,1000);
      

      setInterval(function(){setTime()},1000);
      

      【讨论】:

        【解决方案3】:

        setInterval(setTime(),1000); 行中的函数 setTime() 在调用 setInterval() 函数之前被评估,setTime() 的评估结果作为参数传递给 setInterval() 函数,而不是函数 istelf 作为参数传递。

        您需要做的是将函数调用 ("setTime()") 替换为此函数的名称 ("setTime"),如下所示: setInterval(setTime, 1000);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-09-19
          • 2021-08-15
          • 1970-01-01
          • 1970-01-01
          • 2015-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多