Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Неправильно умножает калькулятор (https://javascript.ru/forum/jquery/81958-nepravilno-umnozhaet-kalkulyator.html)

Sanny333 21.02.2021 11:45

Неправильно умножает калькулятор
 
Подскажите



Формула калькулятора = умножение цены на количество.

Но при нажатии на увеличение начинает считать только со второго значения например выбрано 2 штуки по 70 он выдает = 70, выбрано 3 по 70 он выдает 140



хотя в самом скрипте все отображается корректно при дебаггере. В чем может быть причина?



https://xn--23-6kca7ahoms.xn--p1ai/sale/rose-a09.htm



код калькулятора

$(document).ready(function(){
$(".price-new span.number99").clone()
.css({'font-size':'16px','font-weight':'400','color':'#787a88'})
.appendTo("#price2"); 
});				

$(document).ready(function() {
$('.counter-plus').click(function () {
var tariff = $(".price-new span.number99").text(); 
var quantity = $('#kolvo').val();
var sum = tariff * quantity;
$('#price2').html(sum);	

})
				  
});	
  $(document).ready(function() {
$('.counter-minus').click(function () {
 var tariff = $(".price-new span.number99").text(); 
var quantity = $('#kolvo').val();
var sum = tariff * quantity;
$('#price2').html(sum);					
 })			 
});

Nexus 21.02.2021 15:47

Форматтер js: https://beautifier.io/

Цитата:

Сообщение от Sanny333
В чем может быть причина?

Если элементы .counter-plus и .counter-minus - кнопочки «+» и «-» для изменения кол-ва товаров в корзине/ну, то у вас, уверен, сначала отрабатывают обработчики подсчета стоимости и только потом изменяется кол-во.

Ваш код можно сократить:
$(document).ready(function() {
    $(".price-new span.number99")
        .clone()
        .css({
            'font-size': '16px',
            'font-weight': '400',
            'color': '#787a88'
        })
        .appendTo("#price2");

    $('.counter-plus, .counter-minus').click(function() {
        var tariff = $(".price-new span.number99").text();
        var quantity = $('#kolvo').val();
        var sum = tariff * quantity;
        $('#price2').html(sum);
    })
});


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