У меня есть следующие HTMLJavascript, добавляющий неверно?
HTML
<h1 id="total"></h1>
<div id="option1" onclick="doMath()">Option 1</div>
<div id="option2" onclick="doMath()">Option 2</div>
И следующий Javascript
JS
var basePrice = 0;
var optiononePrice = 5;
var optiontwoPrice = 10;
function doMath() {
$("#option1").click(function() {
basePrice += 5;
});
$("#option2").click(function() {
basePrice += 10;
});
};
$("#total").html(basePrice);
Когда пользователь нажимает на DIV элемент, цена должна добавить общая сумма, но это то, что происходит:
Например, пользователь нажимает кнопку option1. Базовая цена будет печатать «5», но когда они снова нажмут параметр1, базовая цена будет идти от «5» до «15», а затем от «15» до «30» и будет проходить каждый раз. То же самое с option2, оно начинается с «10», затем переходит от «10» в «30» и так далее.
Что происходит, как я должен это исправить?
Вы держите на добавление слушателей на каждый клик, так и с каждой мыши функция вызывается другой время. Все, что вам нужно сделать, это поместить все на 'doMath' снаружи, удалить' doMath' и удалить 'onclick = doMath()'. – MinusFour
Разделите doMath на два метода и посмотрите, что произойдет. – ergonaut