2015-07-30 3 views
2

Мне нужно добавить класс в div, когда страница загружается впервые в php. Класс добавляет в jquery функцию загрузки окна при добавлении класса, тогда на странице есть анимация. Но мне нужно, когда пользователь впервые посещает страницу, только тогда он может видеть анимацию, и после этой страницы не нужно снова показывать все анимации. есть ли какой-либо способ в php, чтобы проверить, что страница загружается с первого раза или нет. Это мой код в jquery.Как найти, что страница загружается впервые?

$(window).load(function(){ 
    $('.header-div').addClass('animation'); 

)}; 

Но я хочу добавить класс 'animation' в php, если первая страница загружается в header-div. Я пытаюсь сделать это с сеансом. Но каждый раз, когда я обновляю идентификатор сеанса страницы, меняются.

if($postid == 4) 
    { 
     session_start(); 
     $_SESSION['id'] = session_id(); 



    } 
+0

Первый раз или во время сеанса? –

+0

Первый раз, когда пользователь закрывает окно браузера и снова посещает веб-сайт, он снова видит анимацию. – user3714488

ответ

0

Я предполагаю, что вы хотите, чтобы анимация показывалась только в первый раз, когда уникальный пользователь посещает страницу? В этом случае вам нужно сохранить файл cookie на компьютере пользователя и проверить этот файл cookie перед добавлением класса анимации в div заголовка.

+0

Я использую этот jquery, чтобы проверить, посетила ли страница или нет. $ (Документ) .ready (функция() { \t \t если ($. Печенье ("firsttime")! = 1) \t \t \t { \t \t \t \t $.cookie («firsttime», «1»); \t \t \t \t // alert ("fghfghf"); \t \t \t} еще { \t \t \t \t \t \t \t \t // предупреждение ("второй раз"); \t \t \t} \t \t \t \t \t}); но класс анимации уже загружается с помощью jquery. поэтому мне нужно добавить этот класс в php, если пользователь сначала зайдет на страницу. – user3714488

0

На стороне клиента вы можете использовать sessionStorage, чтобы узнать, была ли страница посещена. sessionStorage встроенные в большинстве современных браузеров можно легко использовать:

if (!sessionStorage.getItem('visited')) { 
    $('.header-div').addClass('animation'); 
    sessionStorage.setItem('visited', true); 
} 

sessionStorage является хорошим выбором для того, что вы хотите сделать, так как значение будет храниться в домене, и он будет удален автоматически при вкладка будет закрыта.

Я не использовал php некоторое время, но я думаю, вы также можете установить переменную сеанса на стороне сервера.

0

Вам необязательно устанавливать идентификатор сеанса каждый раз.

Попробуйте это:

<?php 
session_start(); 
/*Check to see if $_SESSION['visited'] has already been set during this users visit. 
Store the result of that check in to the variable $visited. 
*/ 
$visited = isset($_SESSION['visited']); 
/* Set $_SESSION['visited'] so that the above check will return true on future visits. */ 
$_SESSION['visited'] = true; 
/* With the snippet inside the html tag, we're echoing "first-visit" 
as a class name if $visited is equal to false, and echoing 
nothing if it's equal to true. */ 
?> 
<div class="header-div <?=$visited?'':'first-visit'?>"> 
... 
</div> 

Тогда в ваших JS файл

$(document).ready(function(){ 
    $('.first-visit').addClass('animation'); 
}); 

Для вашего конкретного случая, вы можете добавить больше логики, чтобы проверить, если $ 4 == сообщения дан первый, как вы это делали в своем вопросе.

Смежные вопросы