$(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; /* Показываем стрелку, если нужно */
}