20.июл.2024

Показывать баннер, и при закрытие сохранять в cookie

	// будет отображать баннер после 60 секунд
	function showBanner() {
		const banner = document.querySelector('.s_banner');
		const overlay = document.querySelector('.overlay');
		banner.style.display = 'block';
		overlay.style.display = 'block';
	}

	function getCookie(name) {
		var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(
			/([\.$?*|{}\(\)\[\]\\\/\+^])/g,
			'\\$1'
		) + "=([^;]*)"));
		if (matches) {
			console.log("CLOSE BANNER")
		} else {
			setTimeout(showBanner, 60000); // 60 секунд = 60000 миллисекунд
		}

		return matches ? decodeURIComponent(matches[1]) : undefined;
	}

	// отображения баннера через 30 секунд после загрузки страницы
	BX.ajax.onload_503933 = function () {
		getCookie("banner_closed");
	};

	// Будет закрывать баннер и записывать cookie
	function closeBanner() {
		const banner = document.querySelector('.s_banner');
		const overlay = document.querySelector('.overlay');
		banner.style.display = 'none'; // Скрываем баннер
		overlay.style.display = 'none'; // Скрываем баннер
		// Записываем в cookie информацию о закрытии баннера на 12 часов
		var expiryDate = new Date();
		expiryDate.setTime(expiryDate.getTime() + (12 * 60 * 60 * 1000)); // 12 часов в миллисекундах
		document.cookie = "banner_closed=true; expires=" + expiryDate.toUTCString() + "; path=/";
	}

	// Обработчик события для кнопки закрытия баннера
	const closeButton = document.querySelector('.banner__close');
	closeButton.addEventListener('click', closeBanner);

	document.addEventListener("DOMContentLoaded", function () {
		//red title
		let classTitle = document.querySelectorAll('.title_slider');
		let getRedTitle = document.querySelectorAll('.hidden_red_txt');
		$(classTitle).each(function (key) {
			let idTitle = classTitle[key].getAttribute("id");
			let getRetTitle = getRedTitle[key].textContent;
			let text = document.querySelector("#" + idTitle).textContent;
			const regex = new RegExp('(' + getRetTitle + ')', 'g');
			const newText = text.replace(regex, '<span class="redTxt">$1</span>');
			$(this).html(newText);
		});
	});
← Назад к списку новостей