-2

私はJavaScriptの糸車に取り組んでいますが、以下に示すように、whileメソッドにalert()を配置することによってのみ実行できます(次に、Chromeをクリックして連続するメッセージを無視します)。何が起こっているのかについての助けや説明をいただければ幸いです。

$(document).ready(function() {
    var colors = ["#000000", "#FFFFFF", "#FFFFFF", "#FFFFFF"];
    var arc = Math.PI / 2;
    var ctx;
    var startAngle = 0;

    function drawWheel(startAngle) {
        var canvas = document.getElementById("wheel");
        if (canvas.getContext) { // Checks for browser support
            var outerRadius = 200,
                    innerRadius = 1;

            ctx = canvas.getContext("2d");

            ctx.strokeStyle = "black";
            ctx.lineWidth = 2;

            for(var i = 0; i < 4; i++) { // change to support size of wheel
                var angle = startAngle + i * arc;
                ctx.fillStyle = colors[i];

                ctx.beginPath();
                ctx.arc(250, 250, outerRadius, angle, angle + arc, false);
                ctx.arc(250, 250, innerRadius, angle + arc, angle, true);
                ctx.stroke();
                ctx.fill();
            }
        }
    }

    function clearWheel() {
        var canvas = document.getElementById("wheel");
        ctx = canvas.getContext("2d");
        ctx.clearRect(0,0,500,500);
    }

    var i = 0;

    while (i<=500) {
        // alert(i);
        drawWheel(i);
        i++;
    }
});
4

1 に答える 1

1

コードが確実に実行されるように、while ループにブレークポイントを設定します。アラートがコードに影響を与えることはありません。

デバッガーをアタッチすると、これを通常モードで実行したときに表示されない、抑制されたエラー メッセージが表示される場合もあります。

于 2013-06-22T23:21:22.840 に答える