заранее благодарю за любую помощь, которую вы можете оказать.
Мне было поручено разобраться с сайтом компании.Я прошел через большинство из них, но застрял на кусочке 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;