@SaberChazer

Счетчик кликов на javascript?

Делаю счетчик кликов, проблема насчет кнопок " + " и " - " (я думаю не нужно объяснять за что они должно отвечать). Помогите пожалуйста.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
	<style type="text/css">
* {
	padding: 0; margin: 0;
}
body, html {
	height: 100%;
}
#div {
	height: 85%; width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:60px;
	-webkit-user-select: none;
}
</style>
</head>
<body id="body">

<div id="div">
<span id="num">0</span>
</div>

<center>
<button id="BtnMinus">-</button>
<button id="BtnPlus">+</button>
<button id="BtnReset">Reset</button>
</center>
<script type="text/javascript">
	let Score = document.getElementById('num'), numbers = 0;
	let div = document.getElementById('div');
	div.onclick = function () {
            numbers += 1;
            Score.innerHTML = numbers;
}
$(document).ready(function () { 
	$("#BtnReset").click(function () {   	
   	if (window.confirm("Вы точно хотите начать заново?")) {location.reload();}
   	else { alert("Продолжай в том же духе)"); }
   })

	$("#BtnPlus").click(function () {
       // numbers += 1;
	})
})

</script>

</body>
</html>
  • Вопрос задан
  • 187 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
У вас клик по div'у уже делает то же, что должна, вероятно, делать и кнопка плюс.
Почему бы не вынести это в отдельную функцию, которую и вызывать в обоих случаях.

Минус сделать можно по аналогии, заменив
-numbers += 1;
+numbers -= 1;


А потом можно избавиться от jQuery, переписать на чистом JavaScript; сделать всего одну функцию, где +1 или –1 это аргумент. Добавить призовую кнопку +100. И установить рекламу новых мышек, чтобы купить взамен перегревшейся )
Ответ написан
KKOOLL
@KKOOLL
full stack-developer
$('#BtnPlus').click(()=>{
let num = parseInt($('#num').html());
$('#num').html(num++);
});
$('#BtnMinus').click(()=>{
let num = parseInt($('#num').html());
if(!num) return;
$('#num').html(num--);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 22:48
100 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект