Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Cookies для кнопки Х (https://javascript.ru/forum/misc/61787-cookies-dlya-knopki-kh.html)

stem 09.03.2016 01:38

Cookies для кнопки Х
 
Есть простенький код блока с кнопкой закрыть.
<div id="fixeddeliverybanner">
<div>Доставка по всей России</div>
<a class="closedeliverybanner" onclick="var el=document.getElementById(&apos;fixeddeliverybanner&apos;);el.parentNode.removeChild(el);">Закрыть</a>
</div>


Как запомнить в куки removeChild?

stem 10.03.2016 03:18

Читал искал в интернете нет нигде адекватной информации, везде блоки со спецэффектами или кодом на 3 страницы, мне не верится, что тупо запоминание кнопки закрыть должно быть таким сложным???

laimas 10.03.2016 11:37

Цитата:

Сообщение от stem
мне не верится, что тупо запоминание кнопки закрыть должно быть таким сложным???

Да просто никому в голову не придет мысль хранить в куках фрагменты html кода. В куках нужно хранить параметры, как признаки или условия, а уж зная что это за параметры, какому условию отвечают, не проблема добавить необходимый html на страницу.

stem 12.03.2016 05:03

Цитата:

Сообщение от laimas (Сообщение 410483)
Да просто никому в голову не придет мысль хранить в куках фрагменты html кода. В куках нужно хранить параметры, как признаки или условия, а уж зная что это за параметры, какому условию отвечают, не проблема добавить необходимый html на страницу.

А есть готовый скрипт не громоздкий? Мне поисковик ничего адекватного не выдает.
Изначально строка открыта и кнопкой закрыть просто прячется без анимации, запоминать должно на сутки.

laimas 12.03.2016 15:22

Прячется? Во-первых событие onclick кроме ошибки ничего не породит, должно быть ('fixeddeliverybanner'), а не (&apos;fixeddeliverybanner&apos; ). Можно и проще написать:

onclick="var el=this.parentNode;el.parentNode.removeChild(el);"


И это не скрытие, а удаление объекта. И чего же запоминать на сутки?

Можно и html в куках запомнить, но может быть все таки запоминать выбор пользователя, а не кнопки?

m1lk1way 12.03.2016 18:36

Я бы завел переменную bstate = true/false, менял бы её стейт в зависимости от того, закрыл пользователь баннер или нет. Сохранил бы в куки (если бы это было необходимо). И при прогрузке сайта/приложения бы проверял эту переменную из document.cookie и в зависимости от её значения менял бы класс у баннера. Как то так.

stem 13.03.2016 07:16

Цитата:

Сообщение от laimas (Сообщение 410773)
Прячется? Во-первых событие onclick кроме ошибки ничего не породит, должно быть ('fixeddeliverybanner'), а не (&apos;fixeddeliverybanner&apos; ). Можно и проще написать:

onclick="var el=this.parentNode;el.parentNode.removeChild(el);"


И это не скрытие, а удаление объекта. И чего же запоминать на сутки?

Можно и html в куках запомнить, но может быть все таки запоминать выбор пользователя, а не кнопки?

Что нужно для этого?

laimas 13.03.2016 13:34

Для чего именно? Может быть лучше описать словами логику того что требуется?

stem 14.03.2016 09:07

Цитата:

Сообщение от laimas (Сообщение 410848)
Для чего именно? Может быть лучше описать словами логику того что требуется?

Ну вот у нас наверху сайта полоса информационная, и кнопка закрыть, которая должна скрывать элемент, само скрытие должно запомниться в куки на сутки.

Аналог такой строки https://mail.ru/ (предлагается скачать браузер амиго)
или тут http://www.klenmarket.ru/ (про доставку по всей россии)

laimas 14.03.2016 12:31

По ссылкам осуществляется переход на страницы, причем тут "спрятать"?

Ваша кнопка не прячется, а удаляется. Но если бы и скрывалась, то что означает щелчок по ней:
а) просто спрятать и не показывать сутки (почему сутки и зачем)?
б) или же согласно описанию ее - это выбор доставки по всей России?


Часовой пояс GMT +3, время: 19:13.