内部循环只运行一次,包含循环无休止地运行



怕是菜鸟问题。

我有一个运行和旋转时钟指针的循环和一个内部循环,用于检查指针的角度是否为 90、180、270 和 360。在这 4 个角度上,将显示相应的div 并删除其同级。手永远循环和循环,这就是我想要的,但角度检查在整个 360 度中只运行一次循环。当指针穿过角度时,它会正确显示和删除div,但在时钟的第一圈后不会继续。

我显然在某个地方搞砸了,肯定会有更有效的方法来完成这一切。我正在使用jQueryRotate.js进行旋转。谢谢你的时间。

jQuery(document).ready(function() {
    var angle = 0;
    setInterval(function() {
        jQuery("#hand").rotate(angle);
        function movehand() {
            if (angle == 90) {
                jQuery("#intervention").fadeIn().css("display","block").siblings().css("display","none");
            } else if (angle == 180) {
                jQuery("#management").fadeIn().css("display","block").siblings().css("display","none");
            } else if (angle == 270) {
                jQuery("#prevention").fadeIn().css("display","block").siblings().css("display","none");
            } else if (angle == 360) {
                jQuery("#reaction").fadeIn().css("display","block").siblings().css("display","none");
            } else {
                movehand;
            }
        };
        movehand();
        angle+=1;
    },10);
});

一旦角度达到 360,您不需要将其重置为 0 吗?

http://jsfiddle.net/DHxBm/2/

jQuery(document).ready(function(){
var angle = 0;
setInterval(function(){
     jQuery("#hand").rotate(angle);
     function movehand(){
      if (angle == 90) {
      jQuery("#intervention").fadeIn().css("display","block").siblings().css("display","none");
    } else if (angle == 180) {
      jQuery("#management").fadeIn().css("display","block").siblings().css("display","none");
    } else if (angle == 270) {
      jQuery("#prevention").fadeIn().css("display","block").siblings().css("display","none");
    } else if (angle == 360) {
      jQuery("#reaction").fadeIn().css("display","block").siblings().css("display","none");
angle=0;
    } else {movehand;}
};
      angle+=1;
},10);
});

最新更新