@IbraimVeli

Запуск функции по времени js?

Добрый день! JS не знаю, но хотелось бы заставить работать функцию.

У меня есть функция, которая по клику открывает выезжающее окошко.
Хотелось бы, чтобы оно также вызежаело и по прохождению 30 секунд (с момента входа на сайта и чтобы счет велся не зависимо от страницы, чтобы после перехода на другую страниццу таймер не сбрасывался).

Заранее благодарю!

jQuery(document).ready(function(){

	// Show Colors Panel
	jQuery('#show-panel').click(function(){
		if(jQuery(this).hasClass('show-panel')) {
			jQuery('.colors-switcher').css({'right': -400});
			jQuery('#show-panel').removeClass('show-panel');
			jQuery('#show-panel').addClass('hide-panel');
		}else if(jQuery(this).hasClass('hide-panel')) {
			jQuery('.colors-switcher').css({'right': '-100px'});
			jQuery('#show-panel').removeClass('hide-panel');
			jQuery('#show-panel').addClass('show-panel');
		}
	
	});
	
});
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 2
@sorokinfil
Вам поможет при первом визите высчитать текущее время + 30 секунд и занести это время в куки. Далее по таймеру определять, есть ли нужная кука, и если есть, то не наступил/прошёл ли нужный момент, и если он наступил/прошёл, вызывать окошко, удалять старую куку и добавлять другую, по которой будет определяться, что окошко уже всплывало. Так понятно?

Под спойлером функции, которые я дёрнул из своего проекта для проверки и занесения кук.
Функции
/* Возвращает cookie */
	function Get_Cookie (name)
	{
		var matches = document.cookie.match (new RegExp
		(
			"(?:^|; )" + name.replace (/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
		));
		return matches ? decodeURIComponent (matches[1]) : undefined;
	}

/* Записать в cookies */
	function setCookie (name, value, options)
	{
		if (!options)
		{
			var expires = new Date ();
			expires.setFullYear (expires.getFullYear () + 10);
			options = {'path': '/', 'expires': expires};
		}
		
		var expires = options.expires;
		
		if (typeof expires == "number" && expires)
		{
			var d = new Date ();
			d.setTime (d.getTime () + expires * 1000);
			expires = options.expires = d;
		}
		if (expires && expires.toUTCString)
		{
			options.expires = expires.toUTCString ();
		}
		
		value = encodeURIComponent (value);
		
		var updatedCookie = name + "=" + value;
		
		for (var propName in options)
		{
			updatedCookie += "; " + propName;
			var propValue = options[propName];
			if (propValue !== true)
			{
				updatedCookie += "=" + propValue;
			}
		}
		
		document.cookie = updatedCookie;
	}

Ответ написан
bbbbbbbbbbbbbbbbbbbbblobb
@bbbbbbbbbbbbbbbbbbbbblobb
// Сохранение данных
localStorage.setItem('key', 'value');

// Получение данных
localStorage.getItem('key');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы