Javascript.RU

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

svileff,
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
это грузить не надо, у вас уже есть jquery
Ответить с цитированием
  #12 (permalink)  
Старый 08.12.2019, 00:06
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Скидка так и не появляется
Ответить с цитированием
  #13 (permalink)  
Старый 08.12.2019, 00:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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 nextLength = $(el).next(".t706__product-amount-sale").length;
                if (nextLength) return;
                var num = (el.textContent.replace(/[^0-9.]/g, "") || 0) * .8;
                var txt = numberWithCommas(num);
                $(el).after('<div class="t706__product-amount-sale">' +
                    txt + "&nbsp;\u0440.</div>")
            })
        }, 1500)
    })
});
Ответить с цитированием
  #14 (permalink)  
Старый 08.12.2019, 00:41
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Да так все срабатывает... Но небольшая задержка происходит. И еще как можно ограничить скидку что бы она начинала появляться когда общая сумма достигнет 3000 руб.
Ответить с цитированием
  #15 (permalink)  
Старый 08.12.2019, 00:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от svileff
Но небольшая задержка происходит.
Сообщение от рони
это очень плохой вариант.
Сообщение от рони
надо ставить дополнение в функцию формирования корзины.
Сообщение от svileff
И еще как можно
можно, но уже нет желания городить костыли.
смотрите общую сумму и делай условие в строке 9
if(сумма > 3000) $(".t706__product-amount.t-descr.t-descr_sm").each(function(i, el) {
Ответить с цитированием
  #16 (permalink)  
Старый 08.12.2019, 00:59
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

$(".t706__cartwin-prodamount").bind( 'DOMSubtreeModified',function() {
var firsttime = true;
var productsum = window.tcart.prodamount;
num++;
if(  (num == 2 || firsttime )  && (productsum > 3000) ) $(".t706__product-amount.t-descr.t-descr_sm").each(function(i, el) {


Что то типа такого?
Ответить с цитированием
  #17 (permalink)  
Старый 08.12.2019, 01:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от svileff
Что то типа такого?
возможно.
Ответить с цитированием
  #18 (permalink)  
Старый 08.12.2019, 01:07
Аспирант
Отправить личное сообщение для svileff Посмотреть профиль Найти все сообщения от svileff
 
Регистрация: 25.11.2019
Сообщений: 39

Кстати когда миняеш значение товара цена миняется а скидка нет... Как это можно подправить.
Ответить с цитированием
  #19 (permalink)  
Старый 08.12.2019, 01:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

svileff,
var nextLength = $(el).next(".t706__product-amount-sale").length;
 if (nextLength) return;

заменить на
$(el).next(".t706__product-amount-sale").remove()
Ответить с цитированием
  #20 (permalink)  
Старый 08.12.2019, 01:22
Аспирант
Отправить личное сообщение для 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