279 lines
11 KiB
JavaScript
279 lines
11 KiB
JavaScript
$(document).mouseleave(function (e) {
|
||
if (e.clientY < 10) {
|
||
$(".exitblock").fadeIn("fast");
|
||
}
|
||
});
|
||
|
||
$(document).click(
|
||
function (e) {
|
||
if (($(".exitblock").is(':visible')) && (!$(e.target).closest(".exitblock .modaltext").length)) {
|
||
$(".exitblock").remove();
|
||
}
|
||
});
|
||
|
||
function myFunction(e) {
|
||
$(".exitblock").remove();
|
||
}
|
||
var a = {
|
||
subtract: function (num) {
|
||
var qty = $('.pac-minus').html() - 0;
|
||
var qtynew = qty - num;
|
||
qtynew = (qtynew < 5 ? 5 : qtynew);
|
||
$('.pac-minus').html(qtynew);
|
||
}
|
||
};
|
||
$(document).ready(function () {
|
||
setTimeout(function () {
|
||
a.subtract(2);
|
||
setInterval(function () {
|
||
a.subtract(Math.floor(Math.random() * (4 - 2)) + 2);
|
||
}, (Math.floor(Math.random() * (25 - 20)) + 20) * 1000);
|
||
}, 2000);
|
||
});
|
||
$(document).ready(function () {
|
||
$("[data-toggle=scroll]").on('click', function () {
|
||
var elementClick = $(this).attr("href")
|
||
var destination = $(elementClick).offset().top;
|
||
jQuery("html:not(:animated),body:not(:animated)").animate({
|
||
scrollTop: destination
|
||
}, 2000);
|
||
return false;
|
||
});
|
||
|
||
});
|
||
// data-toggle="scroll" href="#form"
|
||
|
||
// <script language="javascript" type="text/javascript">var d = new Date();document.write(d.getFullYear()-2);</script> Дата год
|
||
// Если нужен вывод даты и время + минут, тогда к СПАНА с датой добавляем класс "time" <span class = "date-1 time"> </ span>.
|
||
// Работает как в порядке убывания, так и в порядке возрастания.
|
||
|
||
document.addEventListener("DOMContentLoaded", Datee);
|
||
|
||
function Datee() {
|
||
var msInDay = 86400000,
|
||
counterLength = 33,
|
||
months, countryName = 'iq', // Встановлюємо мову для місяців.
|
||
isAbbreviated = false, // Якщо потрібно скорочений варіант місяців з трьох букв, наприклад "янв", "июн" і т.д, тоді ставим TRUE.
|
||
localDate = new Date();
|
||
|
||
switch (countryName) {
|
||
case 'it': // Italy
|
||
months = ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'];
|
||
break;
|
||
case 'es': // Spain
|
||
months = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];
|
||
break;
|
||
case 'fr': // France
|
||
months = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'];
|
||
break;
|
||
case 'pt': // Portugal
|
||
months = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
|
||
break;
|
||
case 'de': // Germany
|
||
months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
|
||
break;
|
||
case 'bg': // Bulgaria
|
||
months = ['Януари', 'Февруари', 'Март', 'Април', 'Май', 'Юни', 'Юли', 'Август', 'Септември', 'Октомври', 'Ноември', 'Декември'];
|
||
break;
|
||
case 'pl': // Poland
|
||
months = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
|
||
break;
|
||
case 'ro': // Romania
|
||
months = ['Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Iunie', 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie'];
|
||
break;
|
||
case 'hu': // Hungary (Румунія)
|
||
months = ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'];
|
||
break;
|
||
case 'gr': // Greece
|
||
case 'cy': // Cyprus (Кіпр)
|
||
months = ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'];
|
||
break;
|
||
case 'iq': // Russia
|
||
months = ['يناير' , 'فبراير' , 'مارس' , 'أبريل' , 'مايو' , 'يونيو' , 'يوليو' , 'أغسطس' , 'سبتمبر' , 'أكتوبر' , 'نوفمبر' , 'ديسمبر'];
|
||
break;
|
||
}
|
||
|
||
if (isAbbreviated) {
|
||
for (var i = 0; i < months.length; i++) {
|
||
months[i] = months[i].slice(0, 3).toLowerCase(); // Убираем ".toLowerCase ()", если первая буква должна быть большой.
|
||
}
|
||
}
|
||
|
||
for (var counter = 0; counter < counterLength; counter++) {
|
||
var dateClass = "date-" + counter,
|
||
nodeList = document.getElementsByClassName(dateClass),
|
||
date = new Date(localDate.getTime() - counter * msInDay),
|
||
timeCounter = 0;
|
||
timeArray = time(nodeList /*, true*/ ); // Раскомментировать, если необходима сортировка в порядке убывания.
|
||
|
||
timeArray = timeFormat(timeArray);
|
||
|
||
for (var i = 0; i < nodeList.length; i++) {
|
||
var data = nodeList[i].dataset;
|
||
|
||
if (data.format) {
|
||
nodeList[i].innerHTML = format(date, data.format);
|
||
// format: Особая форма для отдельной даты. Добавляем как data-format = "фомарт". Форматы смотреть в switchьи ниже. dd - цифры, day - прописью.
|
||
// <span class = "date-1" data-format="dd month yyyy"> </ span> - мотает на 1 день назад и выводит этот span в виде "24 июля 1995".
|
||
} else {
|
||
nodeList[i].innerHTML = format(date /*, "dd month yyyy"*/ ); // Default: dd.mm.yyyy ADD FORMAT HEREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
|
||
}
|
||
if (nodeList[i].className.match(/\btime\b/)) {
|
||
nodeList[i].innerHTML += " " + timeArray[timeCounter];
|
||
timeCounter++;
|
||
}
|
||
}
|
||
}
|
||
|
||
function time(nodeList, reverse) {
|
||
var timeArray = [];
|
||
|
||
for (var i = 0; i < nodeList.length; i++) {
|
||
if (nodeList[i].className.match(/\btime\b/)) {
|
||
timeArray.push(timeRandom());
|
||
}
|
||
}
|
||
|
||
if (reverse) timeArray.sort(function (a, b) {
|
||
return b - a;
|
||
});
|
||
else timeArray.sort(function (a, b) {
|
||
return a - b;
|
||
});
|
||
|
||
return timeArray;
|
||
}
|
||
|
||
function timeRandom() {
|
||
return Math.round(0 + Math.random() * 1440);
|
||
}
|
||
|
||
function timeFormat(timearray) {
|
||
var array = [];
|
||
|
||
for (var i = 0; i < timearray.length; i++) {
|
||
var htemp = Math.floor(timearray[i] / 60),
|
||
mtemp = timearray[i] % 60,
|
||
hours = htemp < 10 ? "0" + htemp : htemp,
|
||
minutes = mtemp < 10 ? "0" + mtemp : mtemp;
|
||
array.push(hours + ":" + minutes);
|
||
}
|
||
|
||
|
||
return array;
|
||
}
|
||
|
||
function format(date, formatstring) {
|
||
var innerDate = "",
|
||
day = date.getDate(),
|
||
year = date.getFullYear(),
|
||
month = date.getMonth() + 1,
|
||
fo = formatstring || true;
|
||
|
||
switch (fo) {
|
||
case "mm.dd.yyyy":
|
||
innerDate += (month < 10) ? ("0" + month) : month;
|
||
innerDate += ".";
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += "." + year;
|
||
return innerDate;
|
||
|
||
case "dd month yyyy":
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += " ";
|
||
innerDate += months[month - 1];
|
||
innerDate += " " + year;
|
||
return innerDate;
|
||
|
||
case "yyyy":
|
||
innerDate += " " + year;
|
||
return innerDate;
|
||
|
||
case "dd month":
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += " ";
|
||
innerDate += months[month - 1];
|
||
return innerDate;
|
||
|
||
case "day dd, month yyyy":
|
||
var days = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
|
||
innerDate += days[new Date(year, month - 1, day).getDay()];
|
||
innerDate += " ";
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += " ";
|
||
innerDate += months[month - 1];
|
||
innerDate += " " + year;
|
||
return innerDate;
|
||
|
||
case "dd/mm/yyyy":
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += "/";
|
||
innerDate += (month < 10) ? ("0" + month) : month;
|
||
innerDate += "/" + year;
|
||
return innerDate;
|
||
|
||
case "dd-mm-yyyy":
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += "-";
|
||
innerDate += (month < 10) ? ("0" + month) : month;
|
||
innerDate += "-" + year;
|
||
return innerDate;
|
||
|
||
default:
|
||
innerDate += (day < 10) ? ("0" + day) : day;
|
||
innerDate += ".";
|
||
innerDate += (month < 10) ? ("0" + month) : month;
|
||
innerDate += "." + year;
|
||
return innerDate;
|
||
}
|
||
}
|
||
}
|
||
var resultWrapper = document.querySelector('.spin-result-wrapper');
|
||
var wheel = document.querySelector('.wheel-img');
|
||
|
||
function spin() {
|
||
if (!wheel.classList.contains('rotated')) {
|
||
wheel.classList.add('super-rotation');
|
||
setTimeout(function () {
|
||
resultWrapper.style.display = "block";
|
||
}, 8000);
|
||
setTimeout(function () {
|
||
$('.spin-wrapper').slideUp();
|
||
$('.order_block').slideDown();
|
||
start_timer();
|
||
}, 10000);
|
||
wheel.classList.add('rotated');
|
||
}
|
||
}
|
||
|
||
var closePopup = document.querySelector('.close-popup');
|
||
$('.close-popup, .pop-up-button').click(function (e) {
|
||
e.preventDefault();
|
||
$('.spin-result-wrapper').fadeOut();
|
||
|
||
var top = $('#form').offset().top;
|
||
$('body,html').animate({
|
||
scrollTop: top
|
||
}, 800);
|
||
});
|
||
|
||
var time = 600;
|
||
var intr;
|
||
|
||
function start_timer() {
|
||
intr = setInterval(tick, 1000);
|
||
|
||
}
|
||
|
||
function tick() {
|
||
time = time - 1;
|
||
var mins = Math.floor(time / 60);
|
||
var secs = time - mins * 60;
|
||
if (mins == 0 && secs == 0) {
|
||
clearInterval(intr);
|
||
}
|
||
secs = secs >= 10 ? secs : "0" + secs;
|
||
$("#min").html("0" + mins);
|
||
$("#sec").html(secs);
|
||
}
|