Member 14105304 Ответов: 1

Помогите мне, пожалуйста, решить этот код :C - javascript


I want to create an js code that calculates the third number of a triangle.

here's the code:



<!DOCTYPE html>

<html>

<head>

</head>

<body>



		<h1 style="position: relative; left: 50px; top: 100px;"><span id="x">6</span></h1>

		<h1 style=" "><span id="y">8</span></h1>

		<h1 style="position: relative; left: 70px; top: -80px; "><span id="z">10</span></h1>


	<button>CLICK</button>




<script> var x = document.querySelector("#x"); var y = document.querySelector("#y"); var z = document.querySelector("#z");	var btn = document.querySelector("button"); ​ btn.addEventListener("click", function(){ x.innerHTML = Math.floor(Math.random()\*20 + 1); y.innerHTML = Math.floor(Math.random()\*20 + 1); z.innerHTML = Math.round(Math.sqrt(x\*x + y\*y)); }); </script>



</body>

</html>


Что я уже пробовал:

Я пытался превратить его в цифры, но, возможно, ошибся.

1 Ответов

Рейтинг:
1

Bryian Tan

хмм. Опубликованный JavaScript выглядит странно с символами"\*", возможно, они были добавлены автоматически, когда вы вставляете код сюда. Вы не упомянули, в чем именно заключается проблема, я предполагаю, что код отображает NaN. если вы внимательно посмотрите на код, то увидите, что x и y - это объекты, не пригодные для математических операций. Вам нужно обновить код, чтобы получить текст из элемента span, преобразовать его в число, а затем выполнить математическую операцию.

var x = document.querySelector("#x"); 
var y = document.querySelector("#y"); 
var z = document.querySelector("#z");	
var btn = document.querySelector("button"); 
btn.addEventListener("click", function(){ 
  x.innerHTML = Math.floor(Math.random() *20 + 1); 
  y.innerHTML = Math.floor(Math.random() *20 + 1); 
  
  let myX = Number(x.innerHTML);
  let myY = Number(y.innerHTML);
  console.log(myX + ' ' + myY);
  z.innerHTML = Math.round(Math.sqrt(myX*myX + myY*myY)); 
});


Пример:
math_number - JSFiddle[^]


Member 14105304

Большое вам спасибо! Я крепко вцепился в эту штуку. Я новичок в программировании и еще не выучил клавишу "let".
Я хотел ответить в то время но заснул лол

Bryian Tan

Разница заключается в уровне области действия, вы можете использовать var, в этом нет ничего плохого. scope - в чем разница между использованием "let" и "var" для объявления переменной в JavaScript? - переполнение стека[^]