Правила для всплывающего окна при уходе со страницы. 
		
		
			Вложений: 1 
		
		
		Всем привет вопрос в следующем. 
	Есть скрипт который вызывает модальное окно при наведение на полосу шириной 1 пиксель в самом верху страницы. Таки образом хочу поймать людей которые уходят с сайта(тянуться закрыть вкладку или перейти на другую). Нужно к этому скрипту привязать 2 правила. 1. Что бы срабатывал только спустя 30 секунд после открытия сайта. 2. Что бы показывался один раз одному пользователю. Я понимаю, что для реализации второго пункта, нужно записать в сессию любое значение и сделать проверку на его наличие. Но проблема в том. что я не знаю как реализовать запись при всплывание окна. Запись в сессию хочу сделать php скриптом. Кто поможет? Вот скрипт всплывающего окна, при наведение на полосу вверху экрана. index.php <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <head> <title>тест</title> <link type='text/css' href='basic.css' rel='stylesheet' media='screen' /> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="jquery.simplemodal.js"></script> <script type="text/javascript" src="init.js"></script> <style type="text/css"> </style> </head> <body> <div class="notice">проведите курсор выше заголовка</div> <div style="display: none; padding: 10px;" id="exit_content"> <h1>Я надоедающее окно окно</h1> </div> </body> </html> init.js 
$(document).ready(function() {
$(document).mousemove(function(e) {
if(e.pageY <= 1)
{
$('#exit_content').modal({onOpen: modalOpen, onClose: simplemodal_close});
}
});
});
function modalOpen (dialog) {
	dialog.overlay.fadeIn('fast', function () {
		dialog.container.fadeIn('fast', function () {
			dialog.data.hide().slideDown('fast');
		});
	});
}
function simplemodal_close (dialog) {
	dialog.data.fadeOut('fast', function () {
		dialog.container.hide('fast', function () {
			dialog.overlay.slideUp('fast', function () {
				$.modal.close();
			});
		});
	});
}
Библиотеки и исходники во вложении.  | 
	
		
 
(function () {
function setcookie(f,e,h){if(h){var g=new Date();g.setTime(g.getTime()+h)}if(f&&e){document.cookie=f+"="+encodeURIComponent(e)+";path=/"+(h?"; expires="+g.toUTCString():"")}else{return false}}
function getcookie(e){var d=new RegExp(e+"=([^;]){1,}");var f=d.exec(document.cookie);if(f){f=f[0].split("=")}else{return false}return f[1]?decodeURIComponent(f[1]):false}
var openSite = getcookie('openSite');
if(openSite) return false;
 
$(document).ready(function() {
   setTimeout(function() {$(document).mousemove(function(e) {
      if(getcookie('openSite')) return false;
      if(e.pageY <= 1)
      {
        $('#exit_content').modal({onOpen: modalOpen, onClose: simplemodal_close});
      }
   });},30000);
});
function modalOpen (dialog) {
	setcookie('openSite',1); //Установка признака срабатывания
	dialog.overlay.fadeIn('fast', function () {
		dialog.container.fadeIn('fast', function () {
			dialog.data.hide().slideDown('fast');
		});
	});
}
function simplemodal_close (dialog) {
	dialog.data.fadeOut('fast', function () {
		dialog.container.hide('fast', function () {
			dialog.overlay.slideUp('fast', function () {
				$.modal.close();
			});
		});
	});
}
}());
 | 
	
		
 Deff, 
	Поставил в init.js не работает( Кэш чистил, время менял.  | 
	
		
 sheneman, 
	Поправил - скобку забыл  | 
	
		
 Deff, 
	спасибо, но вот, что получается: sheneman.ru/7/ Скрипт срабатывает каждый раз пока не обновлю странцу. Получается, что скрипт считывает метку только при рефреше. А до рефреша он мучает этим окном. Как поправить?  | 
	
		
 что бы каждый раз попадая на поле, он делал проверку на наличие метки в куке. 
	 | 
	
		
 sheneman, 
	1. Поправил, (я бы убрал задержку отдачи модального окна, запрашиваемого через jquery.simplemodal.js она уже есть в текущем коде, });},30000); ибо тут в коде она регулируется, а так две задержки, причем через jquery.simplemodal.js задержка не регулируется) ======================= 2. Удобней на область наведения поставить свой div c id="open-modal-area" (отпозиционировав его в нужное место с position:absolute и проставив высоту) Тогда вместо Цитата: 
	
 Цитата: 
	
  | 
	
		
 Подскажите пожалуйста, а как сделать чтобы эта полоса 1px была плавающей при скролинге? 
	Получается если я проскролил страницу вниз, полоса уходит и скрипт не срабатывает.  | 
| Часовой пояс GMT +3, время: 17:07. |