Шкала бесплатной доставки в корзине

Прогресс-бар доставки внутри корзины. Показывает, сколько осталось докупить до бесплатной отправки. Гибкая настройка цветов, текстов и расположения через генератор кода.

Инструкция
Подготовка
Убедитесь, что на вашем сайте используется блок T706 (Виджет корзины). Обычно его размещают в «шапке» (Header) сайта, чтобы он работал на всех страницах.
Настройка дизайна
В генераторе выше укажите целевую сумму (например, 5000), выберите валюту и расположение шкалы внутри корзины. Настройте цвета и тексты под свой стиль.
Вставка кода
Нажмите кнопку «Скопировать код». Создайте на странице (лучше в Footer, где лежит корзина) блок T123 (HTML-код) и вставьте туда полученный скрипт.
Публикация
Опубликуйте страницу. Откройте сайт, добавьте любой товар в корзину — шкала автоматически появится и начнет считать сумму до бесплатной доставки.
Генератор кода
 
// Конфигурация стилей и поведения
const copySuccessMessage = 'Промокод скопирован!';
const doneClass = 'done';
const textSelector = '.text-copy .tn-atom';
const buttonSelector = '.btn-copy .tn-atom';
function createCSS() {
const style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = `
.text-copy .tn-atom {
cursor: pointer;
transition: all 0s !important;
}
.btn-copy {
cursor: pointer;
}
.done {
background-color: var(--done-bg-color) !important;
color: var(--done-txt-color) !important;
font-weight: var(--done-txt-weight) !important;
width: 100% !important;
}
:root {
--done-bg-color: transparent; /* цвет фона уведомления после копирования */
--done-txt-color: #000000; /* цвет текста уведомления после копирования */
--done-txt-weight: 600; /* жирность текста уведомления после копирования */
}
`;
document.head.appendChild(style);
}
function copyText(el) {
const tempTextarea = document.createElement('textarea');
document.body.appendChild(tempTextarea);
tempTextarea.value = el.textContent;
tempTextarea.select();
document.execCommand('copy');
document.body.removeChild(tempTextarea);
el.textContent = copySuccessMessage;
el.classList.add(doneClass);
}
document.addEventListener('DOMContentLoaded', () => {
createCSS();
const textElement = document.querySelector(textSelector);
const buttonElement = document.querySelector(buttonSelector);
buttonElement.addEventListener('click', () => {
copyText(textElement);
});
});
 
1. Логика
2. Тексты
В процессе
Используйте {rem} там, где нужно вывести сумму. Не удаляйте этот тег.
Цель достигнута
3. Дизайн
Цвета
Размеры и шрифты
Пример работы модификации

Помогаем делать модификации лучше

Ваша обратная связь помогает мне развивать инструменты для Тильды. Если что-то пошло не так или у вас есть крутое предложение по улучшению функционала — буду рад обсудить.
Отвечаю лично, читаю всё.
Разработано meloddy.design
Заполните форму ниже что бы задать вопрос или сообщить о баге
Made on
Tilda