2

初心者の質問です。

時計の針を実行して回転させるループと、針の角度が 90、180、270、360 かどうかをチェックする内部ループがあります。これらの 4 つの角度で、対応する div が表示され、その兄弟が削除されます。手はループして永遠にループしますが、これは私が望むものですが、角度チェックは360度全体でループを1回だけ実行します。手が角度を通過すると、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 に答える