Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies 如何使用jQuery使动画仅在会话开始时每个会话运行一次? 目标_Cookies_Jquery_Loading_Jquery Animate - Fatal编程技术网

Cookies 如何使用jQuery使动画仅在会话开始时每个会话运行一次? 目标

Cookies 如何使用jQuery使动画仅在会话开始时每个会话运行一次? 目标,cookies,jquery,loading,jquery-animate,Cookies,Jquery,Loading,Jquery Animate,在加载站点期间,在浏览器窗口顶部固定一个名为#topbar的div,从高度:100%&不透明度:1.0和.animate()到高度:2px&不透明度:0.2 该动画将在加载网站的任何页面时播放;它必须是每个新会话的第一个页面加载。如果访问者离开站点,5分钟后从站点重新加载任何页面,他们将再次看到相同的动画 如何通过jQuery实现这一点?根据: 考虑到这一点,我将使用Ajax设置某种会话。 ie: 您可以检查会话是否已设置以及创建会话的时间 <?php $time_till_animate

在加载站点期间,在浏览器窗口顶部固定一个名为
#topbar
的div,从
高度:100%
&
不透明度:1.0
.animate()
高度:2px
&
不透明度:0.2

该动画将在加载网站的任何页面时播放;它必须是每个新会话的第一个页面加载。如果访问者离开站点,5分钟后从站点重新加载任何页面,他们将再次看到相同的动画

如何通过jQuery实现这一点?

根据:

考虑到这一点,我将使用Ajax设置某种会话。 ie:

您可以检查会话是否已设置以及创建会话的时间

<?php
$time_till_animate = 60*5;//5 minutes
session_start(); 
if(isset($_SESSION['animate']) && isset($_SESSION['animate_time'])){
if((time()-$_SESSION['animate_time']) > $time_till_animate){
     //Animate
}}else{
     //Animate
}

正如Scrum Meister所指出的,cookies是最好的方式

检查一下有没有食物饼干 如果是的话,那就不要做动画了, 如果没有,那么将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();
}
cookies教程:

是否仅通过jQuery?在cookie中存储状态?