Javascript 用于定义页面加载时的样式的Cookie值
我正在使用这里的脚本,并已成功创建了一个cookie。。它是根据用户对“年龄”下拉列表的响应设置的。然而,我对它做任何事情都有困难。如果存在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));
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)时,您会得到什么?