21.01.2015, 15:22
|
Новичок на форуме
|
|
Регистрация: 13.09.2014
Сообщений: 5
|
|
Как правельно использовать плагин jquery.cookie
Доброго времени суток форумчане, помогите разобраться с плагином. Не могу понять как им пользоваться. Вот к примеру есть простой код:
<div id="nameTest">Тест плагина jQuery.cookie</div>
и простой скрипт, после клика скрывает блок с id #nameTest.
$('#nameTest').click(function(){
$(this).hide();
});
Вопрос: как сделать так что бы куки запомнили скрытие блока, ну и если можно пример того как удалять куку. Если нетрудно обьясните максимально подробно, я только начал изучать библиотеку. В сети не совсем много разжеваных до мелочей примеров. Заранее благодарен всем за помощь
|
|
21.01.2015, 15:45
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
ivanfom,
примерно так ...
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>(function(c){"function"===typeof define&&define.amd?define(["jquery"],c):"object"===typeof exports?c(require("jquery")):c(jQuery)})(function(c){function p(a){a=e.json?JSON.stringify(a):String(a);return e.raw?a:encodeURIComponent(a)}function n(a,g){var b;if(e.raw)b=a;else a:{var d=a;0===d.indexOf('"')&&(d=d.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{d=decodeURIComponent(d.replace(l," "));b=e.json?JSON.parse(d):d;break a}catch(h){}b=void 0}return c.isFunction(g)?g(b):b}var l=/\+/g,e= c.cookie=function(a,g,b){if(1<arguments.length&&!c.isFunction(g)){b=c.extend({},e.defaults,b);if("number"===typeof b.expires){var d=b.expires,h=b.expires=new Date;h.setTime(+h+864E5*d)}return document.cookie=[e.raw?a:encodeURIComponent(a),"=",p(g),b.expires?"; expires="+b.expires.toUTCString():"",b.path?"; path="+b.path:"",b.domain?"; domain="+b.domain:"",b.secure?"; secure":""].join("")}for(var d=a?void 0:{},h=document.cookie?document.cookie.split("; "):[],m=0,l=h.length;m<l;m++){var f=h[m].split("="), k;k=f.shift();k=e.raw?k:decodeURIComponent(k);f=f.join("=");if(a&&a===k){d=n(f,g);break}a||void 0===(f=n(f))||(d[k]=f)}return d};e.defaults={};c.removeCookie=function(a,e){if(void 0===c.cookie(a))return!1;c.cookie(a,"",c.extend({},e,{expires:-1}));return!c.cookie(a)}});</script>
<script>
$(function() {
var id = $.cookie("id");
if (id) $("#" + id).hide();
$("#nameTest").click(function() {
$(this).hide();
$.cookie("id", this.id)
})
});</script>
</head>
<body>
<div id="nameTest">Тест плагина jQuery.cookie</div>
</body>
</html>
|
|
21.01.2015, 15:58
|
Новичок на форуме
|
|
Регистрация: 13.09.2014
Сообщений: 5
|
|
рони,спасибо за ответ, но честно не понял. Можете подробно описать что к чему, я хочу вообще сделать что то вроде сообщения. Допустим вывожу сообщение в div блок, далее мне нужно что бы после закрытия блока. Пользователь его больше не видел на определенный срок... Но как это реализовать не пойму, можете расписать код с подсказками если нетрудно для чайника...
|
|
21.01.2015, 16:07
|
Новичок на форуме
|
|
Регистрация: 13.09.2014
Сообщений: 5
|
|
Допустим вот:
<div id="systemMessage">
<p>Вы больше не увидите данное сообщение. Мы рекомендуем вам пройти регистрацию, это расширит ваши возможности!</p>
<p id="closeSystemMessage">Закрыть и больше не показывать!</p>
</div>
Вот примерно такой блок будет появляться на сайте, и нужно что бы после клика на #closeSystemMessage он исчезал на 30 дней.
|
|
21.01.2015, 16:29
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
ivanfom,
читаем доку https://github.com/carhartl/jquery-cookie
http://ruseller.com/lessons.php?id=667&rub=32
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>(function(c){"function"===typeof define&&define.amd?define(["jquery"],c):"object"===typeof exports?c(require("jquery")):c(jQuery)})(function(c){function p(a){a=e.json?JSON.stringify(a):String(a);return e.raw?a:encodeURIComponent(a)}function n(a,g){var b;if(e.raw)b=a;else a:{var d=a;0===d.indexOf('"')&&(d=d.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{d=decodeURIComponent(d.replace(l," "));b=e.json?JSON.parse(d):d;break a}catch(h){}b=void 0}return c.isFunction(g)?g(b):b}var l=/\+/g,e= c.cookie=function(a,g,b){if(1<arguments.length&&!c.isFunction(g)){b=c.extend({},e.defaults,b);if("number"===typeof b.expires){var d=b.expires,h=b.expires=new Date;h.setTime(+h+864E5*d)}return document.cookie=[e.raw?a:encodeURIComponent(a),"=",p(g),b.expires?"; expires="+b.expires.toUTCString():"",b.path?"; path="+b.path:"",b.domain?"; domain="+b.domain:"",b.secure?"; secure":""].join("")}for(var d=a?void 0:{},h=document.cookie?document.cookie.split("; "):[],m=0,l=h.length;m<l;m++){var f=h[m].split("="), k;k=f.shift();k=e.raw?k:decodeURIComponent(k);f=f.join("=");if(a&&a===k){d=n(f,g);break}a||void 0===(f=n(f))||(d[k]=f)}return d};e.defaults={};c.removeCookie=function(a,e){if(void 0===c.cookie(a))return!1;c.cookie(a,"",c.extend({},e,{expires:-1}));return!c.cookie(a)}});</script>
<script>
$(function() {
var id = $.cookie("id"); //проверяем есть ли значение с ключом id
if (id) $(id).hide(); //если есть скрываем блок с данным значением
$("#closeSystemMessage").click(function() {
$("#systemMessage").hide();
$.cookie("id", "#systemMessage", { expires: 30 }) // запоминаем значение id в ключе "id" на 30 дней
})
});
</script>
</head>
<body>
<div id="systemMessage">
<p>Вы больше не увидите данное сообщение. Мы рекомендуем вам пройти регистрацию, это расширит ваши возможности!</p>
<p id="closeSystemMessage">Закрыть и больше не показывать!</p>
</div>
</body>
</html>
|
|
21.01.2015, 16:53
|
Новичок на форуме
|
|
Регистрация: 13.09.2014
Сообщений: 5
|
|
рони,
Кажется начал понимать) Спасибо вам за потраченное время, и+
|
|
|
|