Javascript 用于定义页面加载时的样式的Cookie值

Javascript 用于定义页面加载时的样式的Cookie值,javascript,cookies,Javascript,Cookies,我正在使用这里的脚本,并已成功创建了一个cookie。。它是根据用户对“年龄”下拉列表的响应设置的。然而,我对它做任何事情都有困难。如果存在cookie,我希望定义一个样式。这是我的大部分脚本 function createCookie(name,value,days){ if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000));

我正在使用这里的脚本,并已成功创建了一个cookie。。它是根据用户对“年龄”下拉列表的响应设置的。然而,我对它做任何事情都有困难。如果存在cookie,我希望定义一个样式。这是我的大部分脚本

function createCookie(name,value,days){
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function checkAge(){
    var min_age = 13;
    var year = parseInt(document.forms["emailForm"]["year"].value);
    var month = parseInt(document.forms["emailForm"]["month"].value) - 1;
    var day = parseInt(document.forms["emailForm"]["day"].value);
    var theirDate = new Date((year + min_age), month, day);
    var today = new Date;

    if ( (today.getTime() - theirDate.getTime()) < 0) {
        var el = document.getElementById('emailBox');
        if(el){
            el.className += el.className ? ' youngOne' : 'youngOne';
        }
        document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>"; 
        createCookie('age','not13',0)
        return false;
    }
    else {
        createCookie('age','over13',0)
        return true;
    };
};

window.onload=function(){
   var x = readCookie('not13');
   if (x)  {    
        document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>"; 
   }
}
函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i您必须年满13岁才能注册。

”; createCookie('age','not13',0) 返回false; } 否则{ createCookie('age','over13',0) 返回true; }; }; window.onload=function(){ var x=readCookie('not13'); 如果(x){ document.getElementById('emailBox').innerHTML=“.formError{display:none}再见

您必须年满13岁才能注册。

”; } }
年龄验证有效,cookie已设置。。。。没有错误(来自Firebug)。。有人能看出我做错了什么吗?

如果是这样的话

if (x) {
    var style =  "<style type=\"text/css\">.form {display:none}</style>";
    $("header").append(style);
}
if(x){
var style=“.form{display:none}”;
$(“标题”).append(样式);
}

查看您的代码,它应该可以工作。这没有什么不对的


我唯一建议的是,不要在空的div中插入样式标签,而是在头中插入链接标签。这意味着您的css更改和维护不需要触及js代码。

我明白了。。我正在查找cookie值,需要查找名称,然后根据该值创建一个if语句。所以

 var x = readCookie('age');
if (x=='not13')  {    
   document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>"; 
   }
var x=readCookie('age');
如果(x=='not13'{
document.getElementById('emailBox').innerHTML=“.formError{display:none}再见

您必须年满13岁才能注册。

”; }
well。。我试图在没有jQuery的情况下实现这一点,但我会尝试一下。。感谢您的建议页面上是否有id=“div”的元素?我用实际代码更新了我的示例,因此现在可能更有意义。当您发出警报(x)时,您会得到什么?