Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Необходимо добавить еще один DIV. И получить значение. (https://javascript.ru/forum/css-html/79016-neobkhodimo-dobavit-eshhe-odin-div-i-poluchit-znachenie.html)

рони 08.12.2019 01:27

Цитата:

Сообщение от svileff
Кстати когда миняеш значение товара цена миняется а скидка нет...

видимо я не понимаю, о чём это.

svileff 08.12.2019 01:30

Когда в корзине меняю количество товара например 2шт., цена указывается за 2 товара. А скидка показывает за 1шт.

рони 08.12.2019 01:47

svileff,
не особо понимаю, возможно вы хотите так
$(function() {
    $("[href = '#order'], .t706__carticon-wrapper").click(function() {
        window.setTimeout(function() {
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) {
            var num = (el.textContent.replace(/[^0-9.]/g, "") || 0) * .8;
            var quantity = $(el).prev().find(".t706__product-quantity").text() || 1;
            var txt = numberWithCommas(num * quantity);
            $(el).after('<div class="t706__product-amount-sale">' + txt + "&nbsp;\u0440.</div>")
        })
}, 1500)
    })
});

далее сами ...

svileff 08.12.2019 02:10

Понятно спасибо!!!

svileff 09.12.2019 00:15

Я почти дописал весь скрипт. Но есть небольшие недочеты. Помогите пожалуйста. Не могу решить некоторые проблемы...
<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 + "&nbsp;\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

svileff 09.12.2019 23:29

Все сам решил, все спасибо.


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