Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Калькулятор, реализовать операции (https://javascript.ru/forum/misc/81187-kalkulyator-realizovat-operacii.html)

Alena_03 16.10.2020 18:08

Калькулятор, реализовать операции
 
Всем привет, есть код, нужно реализовать возможность вычисления корня, пи, умножения, возведения в степень. Не получается это сделать, прошу помощи, хоть одну написать, а дальше уже по алгоритму. Спасибо:help: :help: :help: и еще не пойму как сделать контур самого калькулятора и кнопок

<!DOCTYPE html>
<html>
<head>
	<title>Калькулятор JS</title>
	<style>
		.btn {
			width: 60px;
			height: 60px;
			background: #f40;
			display: inline-block;
			text-align: center;
			line-height: 60px;
			user-select: none;
		}

		.btn:hover {
			background: #f70;
			color: #fff;
		}

		#calc-wrap {
			padding: 10px;
			width: 100%;
			text-align: center;
			background: #eee;
		}

		#calc {
			width: 240px;
			display: inline-block;
		}

		#inputVal {
			width: 100%;
			border: 0;
			font-size: 16px;
			resize: vertical;
		}
	</style>
</head>
<body>

<div id="calc-wrap">
	<div id="calc">
		<textarea id=inputVal>0</textarea>
	</div>
</div>

<script>
document.body.style.zoom="167%" // масштаб
// код начнёт выполняться после загрузки страницы
// когда оно загрузится, сработает метод window.onload
window.addEventListener('load', function OnWindowLoaded() {
	// набор кнопок
	var signs = [
		'1', '2', '3', '+',
		'4', '5', '6', '-',
		'7', '8', '9', '/',
		'0', '=', '.', 'c',
		'√', 'π', '*', 'x^y',
	];

	// форма калькулятора
	var calc = document.getElementById('calc');

	// текстовое поле с математичсеким выражением
	var textArea = document.getElementById('inputVal');

	// добавление кнопок в форме калькулятора
	signs.forEach(function (sign) {
		var signElement = document.createElement('div');
		signElement.className = 'btn';
		signElement.innerHTML = sign;
		calc.appendChild(signElement);
	});

	// проходит по всем кнопками калькулятора
	// добавляет обработчик на клик
	document.querySelectorAll('#calc-wrap .btn').forEach(function(button) {
		button.addEventListener('click', onButtonClick);
	});

	// функция клика по кнопке калькулятора
	function onButtonClick(e) {
		// e - MouseEvent (содержит информацию о клике)
		if (e.target.innerHTML === 'c') {
			// если нажата кнопка 'c', то стирает все из текстового поля
			textArea.innerHTML = '0';
		}
		else if (e.target.innerHTML === '=') {
			// если нажата кнопка '=', то приведя выражение
			// в текстовом поле к javascript, вычислить значение
			textArea.innerHTML = eval(textArea.innerHTML);
		} else if (textArea.innerHTML === '0') {
			// если textarea содержит только '0', то
			// стереть '0' и записать
			// значения кнопки в текстовое поле
			textArea.innerHTML = e.target.innerHTML;
		} else {
			// добавление значения кнопки в текстовое поле
			textArea.innerHTML += e.target.innerHTML;
		}
	}
});	


</script>

</body>
</html>


Часовой пояс GMT +3, время: 08:12.