1

我的网站有一个预加载器,它运行良好。它只附加到主页,但是,每当我回到主页时,预加载器就会再次出现。我希望一旦站点(主页)已经被缓存,预加载器就不会出现。

这是我的网站

这是我的javascript:

<script type="text/javascript">
 //<![CDATA[
 $(window).load(function() { 
 $("#status").fadeOut(); 
 $("#preloader").delay(350).fadeOut("slow"); 
 })
 //]]>
 </script> 
4

1 回答 1

0

我参考了这个链接: http ://www.w3schools.com/js/js_cookies.asp 你可以使用javascript函数来实现

演示:

<script type="text/javascript">
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
  {
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

 //<![CDATA[
 $(window).load(function() { 

if(!getCookie("loaded")){

编辑

 //Show element only if the cookie is absent.
 $("#preloader").show();
 $("#status").fadeOut(); 
 $("#preloader").delay(350).fadeOut("slow"); 
//property name , value and no of expiration days
setCookie("loaded",true,365);
    }
else{
    $("#preloader").hide();
    $("#status").hide();
}

 })
 //]]>
 </script> 

编辑: 您还可以通过设置预加载display:none器元素来初始化默认隐藏的元素。然后通过 javascript 将仅在 cookie 不存在时显示该元素。请参阅我在代码中的编辑。

于 2013-04-10T07:33:05.110 回答