Javascript 重新编码年龄检查脚本,以便年龄检查div仅显示cookie是否为null

Javascript 重新编码年龄检查脚本,以便年龄检查div仅显示cookie是否为null,javascript,html,cookies,Javascript,Html,Cookies,我目前正在一个网站上工作,需要一个年龄检查才能进入。当前的编码方式是页脚中有一个agecheck div,该div在初始页面加载时显示,并在用户单击“是”之前保持可见。单击“是”将ofage cookie设置为true,并将隐藏该div。问题是,一旦用户确认其年龄,在其他页面之间导航/刷新当前页面时,agecheck div将随机定期显示一秒钟 我认为最好的方法是重新编码脚本,这样agecheck div在默认情况下总是隐藏的,它唯一显示的时间是cookie为null或用户单击“否”。我对jav

我目前正在一个网站上工作,需要一个年龄检查才能进入。当前的编码方式是页脚中有一个agecheck div,该div在初始页面加载时显示,并在用户单击“是”之前保持可见。单击“是”将ofage cookie设置为true,并将隐藏该div。问题是,一旦用户确认其年龄,在其他页面之间导航/刷新当前页面时,agecheck div将随机定期显示一秒钟

我认为最好的方法是重新编码脚本,这样agecheck div在默认情况下总是隐藏的,它唯一显示的时间是cookie为null或用户单击“否”。我对javascript和cookie的理解非常有限,因此我正在寻找一些关于这方面的指导

以下是agecheck功能:

function checkAge(){

  jQuery('html').css('overflow','hidden');
  jQuery('body').css('overflow','hidden');
  jQuery('body').css('height','100%');
  jQuery('html').css('height','100%');

  checkCookie();
  // check age will need to check this
  if(ofAge){
    jQuery("#ageCheck").hide();
    initPage();
  }else{
    jQuery('#ageCheckYes').click(is21);
    jQuery('#ageCheckNo').click(isNot21);
  }
};

//
// if the user is of age, animate in page
function is21(){
  setCookie();
  var  h  = jQuery(document).height();
  // animate the div off
  jQuery('#ageCheckBeerBG').animate({ top:h + 300 }, 2000+h);
  jQuery("#ageCheck").delay(900).fadeOut("fast", function() {
    initPage();
  });
}
// 
// user is not 21 send them on there way
function isNot21(){
  alert('I am sorry you must be 21 or older to enter.')
};
//
下面是cookie检查代码:

function setCookie(){
  document.cookie = "age_verified=true"
};

// check for cookie //
function checkCookie(){
  var thiscookie = getCookie("age_verified");
  if (thiscookie!="true"){
    ofAge=false;
  }else{
    ofAge=true;
  }
};
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,"");
    console.log(unescape(x));
    if (x==c_name){
      return unescape(y);
    };
  };
};
函数setCookie(){
document.cookie=“age\u verified=true”
};
//检查是否有饼干//
函数checkCookie(){
var thiscokie=getCookie(“年龄验证”);
如果(thiscookie!=“true”){
年龄=假;
}否则{
年龄=真;
}
};
函数getCookie(c_名称){
变量i,x,y,ARRcookies=document.cookie.split(“;”);

对于(i=0;i在样式表中使用CSS将元素默认设置为隐藏。如果将页设置为true/false,如果设置为false,则显示它。

为什么不使用CSS将其设置为隐藏(而不是在样式表中使用jQuery)当你需要的时候,可以使用Javascript来显示它吗?这是个好主意,你能告诉我如果agecheck cookie不存在(或存在为false),我将如何编写jQuery函数来显示div吗?谢谢!只需将它包含在你已经编写的cookie检查代码中。请参阅我的答案