jQuery:只在网页中淡出一次

时间:2010-08-09 11:50:15

标签: jquery fadein

我有一个简单的脚本可以淡入网站的主页,例如:

jQuery(document).ready(function(){    
  $('body.home').hide();
  $('body.home').fadeIn('slow');
});

但是,一旦网站最初加载,我希望脚本只能工作一次。在后续点击时,例如,当用户进入辅助页面然后返回主页时,我不希望主页再次淡入,它应该只是主页加载而不褪色。

有没有办法只使用jQuery代码,可能以某种方式只执行一次函数,然后阻止它执行?任何提示和代码片段将不胜感激!

3 个答案:

答案 0 :(得分:8)

你可以设置一个cookie。

$(function () {
  if ($.cookie("loaded") != "true") {
      $('body.home').hide().fadeIn('slow');
      $.cookie("loaded", "true");
  }
});

答案 1 :(得分:1)

你可以深入了解php的世界并查看会话是否存在,如果没有会话......淡入。 如果你想沿着这条路走下去,我可以发布一些代码

快速阅读如果您的新手到php和会话: http://www.tizag.com/phpT/phpsessions.php

答案 2 :(得分:0)

如果您只通过AJAX调用加载网站的“其他部分”,则可以在全局javascript命名空间中存储一个值,该值只表示您已执行该操作。

否则,您正在进行完整的页面刷新(重定向到另一个站点),没有干净的JavaScript解决方案。在这种情况下,您需要存储cookie,使用local storage或使您的服务器脚本发挥作用。