Куки в переключателе показать/скрыть div

Мой сценарий:

function ShowHide(){
$("#news1").animate({"height": "toggle"}, { duration: 250 });
}

Вопрос:
Как я могу вставить в это файл cookie, чтобы, когда я его скрываю, он оставался скрытым после обновления страницы.
Спасибо за помощь.


person mowahid    schedule 16.04.2011    source источник


Ответы (2)


Toggle, кажется, устанавливает высоту назад и вперед от 0 и «нормального» значения (источник: http://api.jquery.com/animate/).

В качестве последней строки вашей функции, возможно, вы можете добавить:

if ( $('#news1').css('height')==0 )
    # set cookie here with jquery cookie plugin or browser mechanism
    # see http://stackoverflow.com/questions/1458724/how-to-set-unset-cookie-with-jquery

А затем добавьте соответствующий код до того, как документ будет готов: «если я обнаружу, что файл cookie говорит, что он был скрыт в прошлый раз, не показывать его»

редактировать: хотя, если вы делаете это много, я бы порекомендовал фреймворк или плагин с хорошо поддерживаемым механизмом для этого

person ninjagecko    schedule 16.04.2011

Для управления файлами cookie вы можете использовать jQuery.cookie.

код станет:

function ShowHide(){
   $("#news1").animate({"height": 0}, 250, function() {
      //this is a callback function. set the cookie here
   });
}

вам также понадобится другой код js, чтобы проверить, настроен ли файл cookie для скрытия div и, соответственно, скрыть его. лучше выполнять этот код при загрузке страницы или, что еще лучше, при готовности dom.

person sv_in    schedule 16.04.2011