Я почти дописал весь скрипт. Но есть небольшие недочеты. Помогите пожалуйста. Не могу решить некоторые проблемы...
<script>
$( document ).ready(function() {
var num = 0;
var firsttime = true;
//Следим за изменением суммы товаров
$(".t706__cartwin-prodamount").bind( 'DOMSubtreeModified',function() {
//Получаем сумму товара
var productsum = window.tcart.prodamount;
num++;
//Если сумма товара от 1000 до 5000, то промо код выдаёт
if ( ( productsum > 1000) && ( productsum < 5000) ){
$('.t-inputpromocode__wrapper').removeClass("promo-kod");
} else {
$('.t-inputpromocode__wrapper').addClass("promo-kod");
};
//Если сумма товара больше 7000, то выдаём скидку
if ( (num == 2 || firsttime ) && (productsum > 7000) ){
function numberWithCommas(str) {
return (+str).toFixed(0).replace(/(\d+)(\.\d+)?/g, function(c, b, a) {
return b.replace(/(\d)(?=(\d{3})+$)/g, "$1 ") + (a || "")
})
}
// Добавляем скидку к каждому товару
$(".t706__product-amount.t-descr.t-descr_sm").each(function(i, el) {
$(el).next(".t706__product-amount-sale").remove();
var nums = (el.textContent.replace(/[^0-9.]/g, "") || 0) * .85;
var txt = numberWithCommas(nums);
$(el).after('<div class="t706__product-amount-sale t-descr t-descr_sm">' +
txt + " \u0440.</div>");
$(".t706__product-amount.t-descr.t-descr_sm").addClass("sum");
})
//Получаем итоговую сумму
var allsum = window.tcart.amount;
//Вычитаем 15% от суммы товаров
var mydisc = productsum*0.15;
//Корректируем итог на скидку товара
window.tcart.amount = allsum - mydisc;
var prodsumWdisc = productsum - mydisc;
var prodamoun = numberWithCommas(window.tcart.amount);
//Выводим надпись итоговой суммы в корзину
$(".t706__cartwin-prodamount").html(prodamoun + ' р.');
//Выводим надпись итоговой суммы в корзину
$(".t706__cartwin-totalamount").html(window.tcart.amount);
window.tcart.prodamount = window.tcart.prodamount + ' р;<br> Скидка составила: ' + mydisc + ' р;<br> Сумма товара с учётом скидки: ' + prodsumWdisc;
//Создаём надпись для скрытых полей
$("[name='yourdiscount']").val(mydisc);
$("[name='minusdiscount']").val(prodsumWdisc);
num=0; firsttime = false;
}; if ( num >= 2 ){ num = 0};}); });
</script>
1. Когда достигаю суммы 7000 выводит скидку, а когда уменьшаю сумму скидка остается.
2. В самой корзине нажимая на + - изменяется цена, а скидка изменяется но не вся. Первые 3 ряда не меняются. Не могу найти причину.
То что получилось
https://lowo.store/all