2

恐怕菜鸟问题。

我有一个运行和旋转时钟指针的循环和一个检查指针角度是否为 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);
});
4

2 回答 2

3

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

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

于 2012-09-18T09:39:12.137 回答
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);
});
于 2012-09-18T09:40:12.877 回答