如何在一个页面、每个会话中只触发一次jquery函数

How to trigger a jquery function only once in one page, per session?

本文关键字:一次 函数 jquery 一个 会话      更新时间:2023-09-26

我有一个jQuery函数,它在加载index.html时生成动画。我希望这个动画只发生一次。如果您转到另一个页面,然后返回index.html,则不应该发生动画。

但我也希望在刷新索引页面时,显示动画。

我不知道你是否明白。。。不管怎样,谢谢!

Javascript会话存储可以实现这一点。

此sessionStorage变量只有在创建它的窗口打开时才能访问。因此,关闭窗口后,sessionStorage变量将未定义。

您可以简单地使用类似sessionStorage.firstVisit = 1的东西来创建它。

简单地将其包装在if语句中,以检查是否显示动画。

有关此检查的更多信息http://www.w3.org/TR/webstorage/#the-会话存储属性

试试这个!!

 if (!sessionStorage.isActive) {
        $('.your-div').animate(); //write your code to animate
        sessionStorage.isActive= 1;
    }

使用sessionStorage可能会有所帮助,您可以保存

animationContent = document.getElementById("yourID").innerHTML;
sessionStorage.setItem('animationContent', animationContent);
if(sessionStorage.getItem('messageContent')){
    yor animation function;
}

.确保只执行一次

$(document).once('ready', function() 
{
    Your Code here;
});