Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2013, 18:06
Аватар для space_pancake
Новичок на форуме
Отправить личное сообщение для space_pancake Посмотреть профиль Найти все сообщения от space_pancake
 
Регистрация: 15.09.2013
Сообщений: 4

cookies + redirect + animation
Доброе всем время суток.

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

Как я понял, это нужно сделать через кукис, т.е если пользователь переходит с такой то определённой внутренней страницы, то анимация включается, а если с какой сторонней, то анимации нет.

К несчастью с кукис никогда не работал, по этому пожалуйста прошу помочь найти простое решение.
Ответить с цитированием
  #2 (permalink)  
Старый 20.09.2013, 19:10
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 113

Редирект здесь ни при чём. Вот один из возможных вариантов решения:
В head страниц подключаем библиотеку jquery, плагин jquery.cookie и наш файл с действиями
<head>

	<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
	<script type="text/javascript" src="jquery.cookie.js"></script>
	<script type="text/javascript" src="actions.js"></script>

</head>

Файл actions.js
$(document).ready(function(){

	// устанавливаем пустые cookie, если они отсутствуют (для первого посещения в данной сессии)
	if (!$.cookie('animate')){
		$.cookie('animate', '', { path: '/' });
	};
	// получаем значение адресной строки и парсим его по слэшу на части (то есть создаём массив)
	var currentUrl = location.href.replace('http://', '').split('/');
	// если мы на главной странице (currentUrl имеет одну часть: site.com, то есть index страница)
	if (currentUrl.length == 1){
		// при этом если cookie не пустые
		if ($.cookie('animate') == 1){
			// запускаем анимацию
			// $('#animatedElement').animate();
		}
		// устанавливаем пустые cookie
		$.cookie('animate', '', { path: '/' });
	// если мы не на главной странице (currentUrl имеет более одной части: site.com/page или site.com/pages/1)
	} else {
		// устанавливаем cookie со значением 1
		$.cookie('animate', 1, { path: '/' });
	}

});

Так как срок жизни cookie не указан, то они создаются сессионно, и при закрытии браузера удаляются.

Последний раз редактировалось mi.rafaylik, 20.09.2013 в 23:48.
Ответить с цитированием
  #3 (permalink)  
Старый 26.09.2013, 16:24
Аватар для space_pancake
Новичок на форуме
Отправить личное сообщение для space_pancake Посмотреть профиль Найти все сообщения от space_pancake
 
Регистрация: 15.09.2013
Сообщений: 4

Большое спасибо, за столь раскрытый и наглядный пример!

Я так понимаю, что если анимацию, мне надо будет заменить какой нибудь функцией, то 14 строку я просто могу заменить названием этой функции?
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2013, 18:36
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 113

Абсолютно верно.
jQuery это удобный инструмент для работы с JavaScript, поэтому рекомендую сначала изучить учебник JavaScript, а потом разбираться в jQuery. Тогда многие вопросы сами исчезнут.

Последний раз редактировалось mi.rafaylik, 27.09.2013 в 14:39.
Ответить с цитированием
  #5 (permalink)  
Старый 28.09.2013, 00:34
Аватар для space_pancake
Новичок на форуме
Отправить личное сообщение для space_pancake Посмотреть профиль Найти все сообщения от space_pancake
 
Регистрация: 15.09.2013
Сообщений: 4

Сообщение от mi.rafaylik Посмотреть сообщение
Абсолютно верно.
jQuery это удобный инструмент для работы с JavaScript, поэтому рекомендую сначала изучить учебник JavaScript, а потом разбираться в jQuery. Тогда многие вопросы сами исчезнут.
Благодарю!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли заставить ajax не отправлять cookies ? mitiya Общие вопросы Javascript 3 18.11.2012 16:57
Размер cookies в IE9 или альтернатива cookies? JDev Общие вопросы Javascript 23 07.08.2012 18:03
проверка отсутствия всех cookies legrol Общие вопросы Javascript 0 30.03.2012 11:38
Про использование cookies zloctb Общие вопросы Javascript 3 11.02.2012 09:36
Создание cookies cyberx Общие вопросы Javascript 3 22.03.2010 21:59