JavaScript останавливается преждевременно - PullRequest
0 голосов
/ 13 февраля 2019

заранее благодарю за любую помощь, которую вы можете оказать.

Мне было поручено разобраться с сайтом компании.Я прошел через большинство из них, но застрял на кусочке JavaScript.

На сайте есть вопросник с ответами в трех категориях.Из партитуры я строю треугольник.Я написал функцию, которая будет возвращать вычисления, которые я хочу.В качестве теста этой функции я могу записать вычисленные переменные непосредственно во всплывающее окно.

Я создал другую функцию, чтобы затем нарисовать треугольник, используя CANVAS () во всплывающем окне.Чтобы проверить, работает ли новая функция, я вставил код, чтобы попытаться создать всплывающее окно с результатами в нем.Это доходит до создания всплывающего окна, но не записывает в него, как если бы код останавливался после создания всплывающего окна.Может кто-нибудь сказать мне, что я сделал неправильно?

С уважением, Дрю

Код:

    <script type="text/javascript">

            function myFunction() 
            {                   
                function calcD() 
                {
                var D1 = parseInt(document.forms.form1.elements.RadioGroup1.value);
                var D2 = parseInt(document.forms.form1.elements.RadioGroup4.value);
                var D3 = parseInt(document.forms.form1.elements.RadioGroup7.value);
                var D4 = parseInt(document.forms.form1.elements.RadioGroup10.value);
                var Ds  = D1 + D2 + D3 + D4;
                return Ds;
                }

                function calcI() 
                {
                var I1 = parseInt(document.forms.form1.elements.RadioGroup2.value);
                var I2 = parseInt(document.forms.form1.elements.RadioGroup5.value);
                var I3 = parseInt(document.forms.form1.elements.RadioGroup8.value);
                var I4 = parseInt(document.forms.form1.elements.RadioGroup11.value);
                var Is  = I1 + I2 + I3 + I4;
                return Is;
                }

                function calcB() 
                {
                var B1 = parseInt(document.forms.form1.elements.RadioGroup3.value);
                var B2 = parseInt(document.forms.form1.elements.RadioGroup6.value);
                var B3 = parseInt(document.forms.form1.elements.RadioGroup9.value);
                var B4 = parseInt(document.forms.form1.elements.RadioGroup12.value);
                var Bs  = B1 + B2 + B3 + B4;
                return Bs;
                }

                var X = 396.4;
                var Y = 250;
                var coS30 = 0.866025403784439;
                var siN30m = -0.5;
                var siN30p = 0.5;
                var Dx = X;
                var Dy = calcD() + Y;
                var Bx = X - (calcB()*coS30);
                var By = Y + (calcB()*siN30m);
                var Ix = X + (calcI()*coS30);
                var Iy = Y + (calcI()*siN30p);
                var Xs = (Dx + Bx + Ix)/3;
                var Ys = (Dy + By + Iy)/3;
            /*
                var myWindow1 = window.open("","MsgWindow","resizable,height=700,width=793");

                myWindow1.document.write('var X = ' + X);
                myWindow1.document.write('; var Y = ' + Y);
                myWindow1.document.write('; var coS30 = ' + coS30);
                myWindow1.document.write('; var siN30m = ' + siN30m);
                myWindow1.document.write('; var siN30p = ' + siN30p);
                myWindow1.document.write('; var Dx = ' + Dx);
                myWindow1.document.write('; var Dy = ' + Dy);
                myWindow1.document.write('; var Bx = ' + Bx);
                myWindow1.document.write('; var By = ' + By);
                myWindow1.document.write('; var Ix = ' + Ix);
                myWindow1.document.write('; var Iy = ' + Iy);
                myWindow1.document.write('; var Xs = ' + Xs);
                myWindow1.document.write('; var Ys = ' + Ys);
                myWindow1.document.close();
            */
        }

    </script>

    <script type="text/javascript">

                function draw() {

                    var myWindow1 = window.open("","MsgWindow","resizable,height=700,width=793");

                    myWindow1.document.write('var X = ' + X);
                    myWindow1.document.write('; var Y = ' + Y);
                    myWindow1.document.write('; var coS30 = ' + coS30);
                    myWindow1.document.write('; var siN30m = ' + siN30m);
                    myWindow1.document.write('; var siN30p = ' + siN30p);
                    myWindow1.document.write('; var Dx = ' + Dx);
                    myWindow1.document.write('; var Dy = ' + Dy);
                    myWindow1.document.write('; var Bx = ' + Bx);
                    myWindow1.document.write('; var By = ' + By);
                    myWindow1.document.write('; var Ix = ' + Ix);
                    myWindow1.document.write('; var Iy = ' + Iy);
                    myWindow1.document.write('; var Xs = ' + Xs);
                    myWindow1.document.write('; var Ys = ' + Ys);
                    myWindow1.document.close();


            /*  
                var ctx = myWindow1.document.getElementById('canvas').getContext('2d');
                var img = new Image();

                img.onload = function() {
                ctx.drawImage(img, 0, 0);
                ctx.beginPath();
                ctx.moveTo(Dx, Dy);
                ctx.lineTo(Bx, By);
                ctx.lineTo(Ix, Iy);
                ctx.fill();
                ctx.stroke();
                };
                img.src = "img/triangle.png";
            */
            };

    </script>

Переменные значения, если они вам нужны:

var X = 396.4; 

var Y = 250;
var coS30 = 0.866025403784439;
var siN30m = -0.5;
var siN30p = 0.5;
var Dx = 396.4;
var Dy = 250;
var Bx = 396.4;
var By = 250;
var Ix = 396.4;
var Iy = 250;
var Xs = 396.3999999999999;
var Ys = 250;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...