Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 08.12.2019, 01:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от svileff
Кстати когда миняеш значение товара цена миняется а скидка нет...
видимо я не понимаю, о чём это.
Ответить с цитированием
  #22 (permalink)  
Старый 08.12.2019, 01:30
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Когда в корзине меняю количество товара например 2шт., цена указывается за 2 товара. А скидка показывает за 1шт.
Ответить с цитированием
  #23 (permalink)  
Старый 08.12.2019, 01:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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)
    })
});

далее сами ...
Ответить с цитированием
  #24 (permalink)  
Старый 08.12.2019, 02:10
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Понятно спасибо!!!
Ответить с цитированием
  #25 (permalink)  
Старый 09.12.2019, 00:15
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Я почти дописал весь скрипт. Но есть небольшие недочеты. Помогите пожалуйста. Не могу решить некоторые проблемы...
<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 в 00:51.
Ответить с цитированием
  #26 (permalink)  
Старый 09.12.2019, 23:29
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Все сам решил, все спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взять данные из поля input(text) и добавить к содержимому div (text input + text div) ksultanov Элементы интерфейса 4 04.10.2016 19:46
Как получить значение с помощью JavaScript? griga999 Общие вопросы Javascript 2 22.02.2015 01:57
Как получить значение цвета из color picker razorg1991 jQuery 1 06.10.2014 09:06
Скрипт калькулятора (не могу добавить еще одно значение) Jee_Day Я не знаю javascript 2 22.05.2009 13:19
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37