jquery.cookie.js
Ребята, подскажите, пожалуйста, почему при обновлении страницы не запоминается активный блок.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>accordion</title> <link rel="stylesheet" href="css/normalize.css"> <style> .accordion { width: 600px; margin: 20px auto; } .accordion__question { background: #F6F6F6 url("../images/plus.png") no-repeat 8px center; padding: 10px 10px 10px 40px; margin: 0 0 1px 0; color: #000; font-size: 20px; border-radius: 5px; cursor: pointer; } .accordion__question:hover { background-color: #DFE4E8; } .accordion__question_open { background-image: url("../images/minus.png"); } .accordion__answer { padding: 0 8px; } </style> </head> <body> <div class="accordion"> <h2 class="accordion__question" data-id="1">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h2> <div class="accordion__answer"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente ipsa, sunt, dignissimos quisquam cum, repudiandae ratione distinctio odio, suscipit voluptatem est deleniti maxime dolor nesciunt eveniet consectetur doloremque vel fugiat.</p> </div> <h2 class="accordion__question" data-id="2">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h2> <div class="accordion__answer"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente ipsa, sunt, dignissimos quisquam cum, repudiandae ratione distinctio odio, suscipit voluptatem est deleniti maxime dolor nesciunt eveniet consectetur doloremque vel fugiat.</p> </div> <h2 class="accordion__question" data-id="3">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h2> <div class="accordion__answer"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente ipsa, sunt, dignissimos quisquam cum, repudiandae ratione distinctio odio, suscipit voluptatem est deleniti maxime dolor nesciunt eveniet consectetur doloremque vel fugiat.</p> </div> </div> <script src="js/jquery-1.12.0.js"></script> <script src="js/jquery-ui.js"></script> <script src="js/jquery.cookie.js"></script> <script src="js/main.js"></script> </body> </html> $(function() { $(".accordion__answer").css("display", "none"); if ($.cookie("openItem")) { var openItem = parseInt($.cookie("openItem")); // alert(typeof(openItem) + ' - ' + openItem); // должно быть числовое значение } $(".accordion__question").on("click", function() { $(".accordion__question").not($(this)).removeClass("faq__question_open"); $(".accordion__answer").not($(this).next(".faq__answer")).slideUp(500); $(this).next(".accordion__answer").slideToggle(500); $(this).toggleClass("accordion__question_open"); $(this).addClass("active").siblings().removeClass('active'); // уставнавливаем cookie // первый параметр - имя, создаваемой cookie // второй параметр - значение данной cookie $.cookie("openItem", $(this).data('id')); console.log($(this).data('id')); }); }); |
s24344,
может потому что ваш любимый браузер Google Chrome и вы тестируите локально. |
Открывашка 253 с запоминаем открытой вкладки
s24344,
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>accordion</title> <link rel="stylesheet" href="css/normalize.css"> <style> .accordion { width: 600px; margin: 20px auto; } .accordion__question { background: #F6F6F6 url("../images/plus.png") no-repeat 8px center; padding: 10px 10px 10px 40px; margin: 0 0 1px 0; color: #000; font-size: 20px; border-radius: 5px; cursor: pointer; } .accordion__question:hover { background-color: #DFE4E8; } .accordion__question_open { background-image: url("../images/minus.png"); } .accordion__answer { padding: 0 8px; display: none; } .active{ border: 2px solid #000000 } </style> </head> <body> <div class="accordion"> <h2 class="accordion__question" data-id="1">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h2> <div class="accordion__answer"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente ipsa, sunt, dignissimos quisquam cum, repudiandae ratione distinctio odio, suscipit voluptatem est deleniti maxime dolor nesciunt eveniet consectetur doloremque vel fugiat.</p> </div> <h2 class="accordion__question" data-id="2">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h2> <div class="accordion__answer"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente ipsa, sunt, dignissimos quisquam cum, repudiandae ratione distinctio odio, suscipit voluptatem est deleniti maxime dolor nesciunt eveniet consectetur doloremque vel fugiat.</p> </div> <h2 class="accordion__question" data-id="3">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h2> <div class="accordion__answer"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente ipsa, sunt, dignissimos quisquam cum, repudiandae ratione distinctio odio, suscipit voluptatem est deleniti maxime dolor nesciunt eveniet consectetur doloremque vel fugiat.</p> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script> <script> $(function() { var $answer = $(".accordion__answer"), $question = $(".accordion__question"); $question.on("click", function(event, spide) { spide = spide || 500; $question.not($(this).toggleClass("faq__question_open active")).removeClass("faq__question_open active"); $answer.not($(this).next().slideToggle(spide)).slideUp(spide); $.cookie("openItem", $(this).data('id')); }); if ($.cookie("openItem")) { var openItem = parseInt($.cookie("openItem")); $question.eq(--openItem).trigger("click",["fast"]) } }); </script> </body> </html> |
Спасибо
|
Скажите пожалуйста, откуда можно скачать jquery.cookie.js ?
|
DDim1000,
http://plugins.jquery.com/cookie/ |
Dilettante_Pro, Спасибо большое.
|
У меня тоже не запоминается последний открытый блок div.., после обновления страницы, последний открытый div принимает display: none.
<head> ... <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script> <script type="text/javascript" src="js/jcarousellite_1.1.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></script> <script type="text/javascript" src="js/shop-script.js"></script> <title>...</title> </head> shop-script.js: $(document).ready(function(){ ... $('#block-category > ul > li > a').click(function(){ if ($(this).attr('class') != 'active' ) { $('#block-category > ul > li > ul').slideUp(400); $(this).next().slideToggle(400); $('#block-category > ul > li > a').removeClass('active'); $(this).addClass('active'); $.cookie('select_cat', $(this).attr('id')); } else { $('#block-category > ul > li > a').removeClass('active'); $('#block-category > ul > li > ul').slideUp(400); $.cookie('select_cat', ''); }; }); if ($.cookie('select_cat') = '') { $('#block-category > ul > li > #'+$.cookie('select_cat')).addClass('active').next().show(); } ... |
Часовой пояс GMT +3, время: 18:41. |