2013-03-27 3 views
0

Я устанавливаю myCookie для определенного домена, и когда установлен файл cookie, я хочу скрыть контент, но оператор show/hide IF не работает вообще.Скрыть содержимое на основе набора cookie

Я хотел бы использовать плагин jquery .cookie, но это то, что у меня есть до сих пор. запись cookie действительно работает, я просто не могу заставить шкуру нормально функционировать.

var cookieName = 'myCookie'; 
var cookieValue = 'myCookie'; 
var myDate = new Date(); 
myDate.setMonth(myDate.getMonth() + 12); 
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate 
        + ";domain=.example.com;path=/"; 

$(document).ready(function(){ 
    if ($.cookieName('myCookie') >= 0) { 
     $('.myContent').hide(); 
    } 
}); 

HTML

<div class="myContent"> 
hide this content if the cookie is set 
</div> 
otherwise show this content if you don't have the required cookie 

Любая помощь в этом была бы оценена!

+0

вы используете какой-либо куки плагин JQuery? в противном случае это '$ .cookieName' может вызвать ошибку или не определено – JFK

+0

Я не, но я хотел бы ... просто попытаться заставить это работать – Evan

ответ

1

Я сделал вам пример:

<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript" src="jquery.cookie.js"></script> 
<script type="text/javascript"> 
$.cookie('myCookie', 25); 

$(document).ready(function(){ 

    if ($.cookie('myCookie') >= 0) { 
     $('.myContent').hide(); 
    } 
}); 
</script> 
</head> 
<body> 
<div class="myContent"> 
hide this content if the cookie is set 
</div> 
</body> 
</html> 

Этот пример скрыть DIV, потому что 25> 0.

В другом случае:

<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript" src="jquery.cookie.js"></script> 
<script type="text/javascript"> 
$.cookie('myCookie', 25); 

$(document).ready(function(){ 

    if ($.cookie('myCookie') >= 26) { 
     $('.myContent').hide(); 
    } 
}); 
</script> 
</head> 
<body> 
<div class="myContent"> 
hide this content if the cookie is set 
</div> 
</body> 
</html> 

Теперь я изменить, если состояние и div показывает myCookie = 25, и он меньше 26 (поэтому он работает в обоих случаях).

------------------------------ EDITED --------------- ------------------- версия

Javascript:

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=/"; //replace this line 

} 

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 eraseCookie(name) { 
createCookie(name,"",-1); 
} 

Javascript создать печенье вызов:

createCookie('ppkcookie','testcookie',7) //name_of_cookie,value,num_days 

Чтение печенье:

var x = readCookie('ppkcookie1') 

Полное объяснение: http://www.quirksmode.org/js/cookies.html

В функции createCookie:

document.cookie = name+"="+value+expires+"; path=/"; //replace this line 

    //with this one adding domain 
    document.cookie = name+"="+value+expires=" + ";domain=.example.com;path=/"; 

Saludos;)

+0

большое вам спасибо! это очень приятно. кстати, используя пример i, в котором я установил cookie, как это можно сделать с использованием jquery и плагина? – Evan

+0

Вы имеете в виду с простым javascript ?? – Hackerman

+0

Да, без использования плагина. Мне было любопытно, как это будет выглядеть на основе моего первоначального подхода – Evan

1

Сначала скачайте https://github.com/carhartl/jquery-cookie и обратитесь на свою страницу.

Тогда, это так просто, как изменить свой if заявление:

if ($.cookie("myCookie") !== undefined) 
{ 
    $(".myContent").hide(); 
} 

Если вы хотите, вы можете использовать $.cookie установить куки тоже; В README.md есть примеры.

Смежные вопросы