内部循环只运行一次,包含无限循环运行

时间:2012-09-18 09:36:32

标签: javascript jquery

noob问题我很害怕。

我有一个循环,它运行并旋转时钟的手和内部循环,如果它是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);
});

2 个答案:

答案 0 :(得分:3)

角度达到360后,您是否需要将其重置为0?

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

答案 1 :(得分:0)

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);
});