Как сделать так, чтобы анимация запускалась только один раз за сеанс, только в начале сеанса с использованием jQuery? - PullRequest
0 голосов
/ 06 февраля 2011

Цель

Во время загрузки сайта div, закрепленный в верхней части окна браузера с именами #topbar, начинается с height: 100% & opacity: 1.0 и .animate() до height: 2px & opacity: 0.2.

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

Как это можно сделать с помощью jQuery?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2011

печенье - лучший способ, как указал Скрам Мейстер.

проверьте, есть ли печенье foobar если да, чем не делать анимацию, если нет, то установить cookie на 5 минут или что запустить анимацию

и другой код хорош: на каждой странице создайте функцию ajax, которая сбрасывает время истечения

например

setcookie(date) //this sets your cookies you should implement for yourself
func setagain() {
    setcookie(expanded_date);
    window.setTimeot(setagain,10000);
} 

if(iscookie() == true) {
setagain()
}
else {
animate()
setagain();
}

учебник по файлам cookie: http://www.w3schools.com/JS/js_cookies.asp

0 голосов
/ 06 февраля 2011

Согласно: http://api.jquery.com/animate/

Имея это в виду, я бы использовал Ajax для установки какой-либо сессиито есть: <?php session_start(); $_SESSION['animate']=true; $_SESSION['animate_time']=time(); ?>

И вы можете проверить, установлен ли сеанс, и время, когда он был создан.PS: я уверен, что есть много лучших способов сделать это.(не уверен, что вы используете PHP, просто игнорируйте, если вы этого не сделаете)

...