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

时间:2015-11-14 11:51:10

标签: javascript jquery html

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

但我还想在刷新索引页面时显示动画。

我不知道你是否得到它...... 无论如何,谢谢!

3 个答案:

答案 0 :(得分:3)

Javascripts sessionStorage可以实现这一目标。

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

您可以使用sessionStorage.firstVisit = 1

之类的东西来创建它

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

有关此检查的更多信息http://www.w3.org/TR/webstorage/#the-sessionstorage-attribute

答案 1 :(得分:0)

试试这个!!

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

答案 2 :(得分:0)

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

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

.one确保只执行一次

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