Показать / скрыть с помощью файлов cookie jQuery - PullRequest
2 голосов
/ 18 февраля 2011

Итак, я создал простое окно подсказки, которое исчезает при загрузке страницы, с возможностью закрыть окно. Я пытаюсь сделать окно скрытым, если посетитель нажимает на ссылку закрытия. Я довольно новичок в печенье, так что, вероятно, я все делаю неправильно, но вот что у меня есть:

    $('#close').click(function(e) {
        jQuery.cookie('tip', 'hide', cookieOpts);
        $(this).parent('div.tip').fadeOut(1000);
        e.preventDefault();
    });

    jQuery.cookie('tip', 'show', cookieOpts);

    $('.tip').delay(500).fadeIn(1000);

    var shouldShow = jQuery.cookie('tip') == 'show';
    var cookieOpts = {expires: 7, path: '/'};

    if( shouldShow ) { 
        $('.tip').delay(500).fadeIn(1000); 
    }
    else {            
        $('.tip').css('display', 'none');
    }   

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Я пересмотрел код:

http://jsbin.com/ujixi4/4/edit

Немного проще, надеюсь, добьется того, чего ты хочешь.

var cookieOpts = {expires: 7, path: '/'};  //this isnt working for some reason
alert('c: '+$.cookie('tip')); //debug code

if( $.cookie('tip') == 'hide'){
  //do nothing
}else{
  $('.tip').delay(500).fadeIn(1000); 
  //$.cookie('tip', 'hide', {expires: 7, path: '/'}); // Add this if you want the cookie to disappear on reload (even if they don't click)
}

$('#close').click(function(e) {
  $.cookie('tip', 'hide', {expires: 7, path: '/'});
  $('.tip').hide();  
});

Вот похожий awnser, использующий куки: jquery изменить размер шрифта на основе cookie?

http://jsbin.com/ufetu5/2/edit

0 голосов
/ 18 февраля 2011

Вы передаете cookieOpts, но переменная определена под ним.

Сдвиньте его выше, где на него ссылаются первыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...