Скидка: 0%
Следующее вращение:
Промокод
Крутить
$(document).ready(function () { // Конфигурация var discontpercent = [3, 5, 7, 10, 12, 15, 18, 20, 25]; var discontpromo = ["Промокод1", "Промокод2", "Промокод3", "Промокод4", "Промокод5", "Промокод6", "Промокод7", "Промокод8", "Промокод9"]; var probabilities = [0.5, 0.2, 0.1, 0.05, 0.05, 0.04, 0.03, 0.02, 0.01]; // Вероятности выпадения ячеек var expiredays = 0; var expirehours = 0; var expireminutes = 0; var expireseconds = 30; var colofsectors = discontpercent.length; var degofsector = 360 / colofsectors; var anglerotate; var timerotate; // Функция для выбора случайного индекса на основе вероятностей function getRandomIndexByProbability(probabilities) { var random = Math.random(); var cumulative = 0; for (var i = 0; i < probabilities.length; i++) { cumulative += probabilities[i]; if (random < cumulative) { return i; } } } // Логика вращения $(".gobaraban").on("click", function () { $(".gobaraban").addClass("dontdisplayelem"); // Скрываем кнопку "Прокрутить" $(".arrow").removeClass("dontdisplayelem"); // Показываем стрелку (если нужно) var today = new Date(); today.setDate(today.getDate() + expiredays); today.setHours(today.getHours() + expirehours); today.setMinutes(today.getMinutes() + expireminutes); today.setSeconds(today.getSeconds() + expireseconds); var hrs = String(today.getHours()).padStart(2, '0'); var min = String(today.getMinutes()).padStart(2, '0'); var sec = String(today.getSeconds()).padStart(2, '0'); var stringtodate = today.toLocaleDateString('ru-RU') + " в " + hrs + ":" + min + ":" + sec; $(".nextrotatetext .tn-atom").text($(".nextrotatetext .tn-atom").text() + stringtodate); localStorage.setItem('expdatedannn', today); // Выбор результата рулетки на основе вероятностей var resultsector = getRandomIndexByProbability(probabilities); var resultdiscont = discontpercent[resultsector]; var resultpromo = discontpromo[resultsector]; anglerotate = 1080 + resultsector * degofsector; timerotate = 5 + Math.random() * 3; $(".baraban").css({ "transition": "transform " + timerotate + "s cubic-bezier(.24,.08,.06,1)", "transform": "rotate(" + anglerotate + "deg)" }); // Отображение результата setTimeout(function () { localStorage.setItem('discontdannn', resultdiscont); localStorage.setItem('promodannn', resultpromo); // Показываем промокод и скидку $(".disconttext .tn-atom").text("Скидка: " + resultdiscont + "%"); $(".promotext .tn-atom").text("Промокод: " + resultpromo); // Отображаем промокод и кнопку копирования $(".disconttext, .promotext, .copybutton").removeClass("dontdisplayelem"); }, timerotate * 1000); }); // Добавление функционала копирования промокода $(".copybutton").on("click", function () { var copyText = $(".promotext .tn-atom").text(); navigator.clipboard.writeText(copyText); alert("Промокод скопирован в буфер обмена!"); }); }); /* Скрываем элементы по умолчанию */ .dontdisplayelem { display: none !important; } .result-container { margin-top: 20px; text-align: center; } .copybutton { margin-top: 10px; padding: 5px 15px; background-color: #4CAF50; color: white; border: none; cursor: pointer; } .copybutton:hover { background-color: #45a049; } /* Анимации для вращения */ .baraban { transition: transform 5s cubic-bezier(.24,.08,.06,1); } /* Стрела для отображения после вращения */ .arrow { display: none; /* Если стрелка скрыта по умолчанию */ } .arrow.dontdisplayelem { display: block; /* Показываем стрелку, если нужно */ }