0

私のアプリケーションはaps.net MVCです。マウスのY位置を取得することで、ajaxを使用して複数の画像をロードしていますが、マウスを1ピクセル以上、たとえば100ピクセル移動すると、すべての画像が一度にロードされます! スクリプトをテストするために、Alert を追加しました。ユーザーが [OK] をクリックすると、想定どおりに画像が進みます。setInterval と Timeout を試しましたが、どちらも機能しませんでした。これが私のコードです:

 $("#container2").bind('mousemove', function (e) {

        lastX = e.pageX - position.x;
        lastY = e.pageY - position.y;
        coordinate = "x=" + lastX + ", y=" + lastY;
        $('#pValue').val(coordinate);
        $('#lastX').val(lastX);
        $('#lastY').val(lastY);

        waitStep = lastY >= 0 ? 1 : -1;
        waitInc = waitStep;
        waitCounter = lastY;

        for (var n = 0; n < Math.abs(lastY); n += 1) {
            //    imageSequence[n] = new Image();
            dicom1.src = '/Home/GenerateImage?' + $.param({
                pX: pointXF,
                pY: pointYF,
                pZ: waitInc * sThickness
            });
            waitInc = waitInc + waitStep;
            alert(waitInc);


        }

よろしくお願いします。

4

2 に答える 2

0

15 で 1 回コードを実行するには、次のことを試してください。

var speed = 0;
$("#container2").bind('mousemove', function (e) {
    ++speed;
    if (speed % 15 == 0) {
            lastX = e.pageX - position.x;
            lastY = e.pageY - position.y;
            coordinate = "x=" + lastX + ", y=" + lastY;
            $('#pValue').val(coordinate);
            $('#lastX').val(lastX);
            $('#lastY').val(lastY);

            waitStep = lastY >= 0 ? 1 : -1;
            waitInc = waitStep;
            waitCounter = lastY;

            for (var n = 0; n < Math.abs(lastY); n += 1) {
                //    imageSequence[n] = new Image();
                    dicom1.src = '/Home/GenerateImage?' + $.param({
                    pX: pointXF,
                    pY: pointYF,
                    pZ: waitInc * sThickness
                });
                waitInc = waitInc + waitStep;
                alert(waitInc);
           }
    }
});
于 2013-04-23T12:27:47.637 に答える