2012-01-28 6 views
0

Ok поэтому я использую это, https://github.com/carhartl/jquery-cookie, JQuery плагин, и мне нужно сделать if (null){} else{}, но я не могу заставить его работатьне может получить, если заявление с Jquery печенье работать

$('.ff').click(function(){ 
     if ($.cookie('ff') == null) 
     { 
      $.cookie('ff', 'on', { expires: 1, path: '/' }); 
      alert($.cookie('ff')+' on?'); 
     } 
     if ($.cookie('ff') == 'on') 
     { 
      $.cookie('ff', null); 
      alert($.cookie('ff')+' offFFFFFFFFFFFFFFff?'); 
     } 
    }); 

Что утра Я делаю неправильно?

ответ

1

Измените свой второй if на else if. Кроме того, согласно документации плагина:

Примечание: при удалении файла cookie вы должны передать тот же путь, домен и безопасные параметры, которые использовались для установки файла cookie.

Поэтому убедитесь, что пройти один и тот же path вариант, когда вы удалите куки:

if ($.cookie('ff') == null) 
    { 
     $.cookie('ff', 'on', { expires: 1, path: '/' }); 
     alert($.cookie('ff')+' on?'); 
    } 
    else if ($.cookie('ff') == 'on') 
    { 
     $.cookie('ff', null, { path: '/' }); 
     alert($.cookie('ff')+' offFFFFFFFFFFFFFFff?'); 
    } 

Если $.cookie('ff') был нулевым ранее, он был первым, установленным на 'on' внутри первого if блока. Затем второе условие оценивалось как true, в результате чего cookie снова устанавливался на null.

Пример:http://jsfiddle.net/andrewwhitaker/azHK2/

+0

что была моя проблема, не устанавливая печенья пустой правильный путь '$ .cookie ('сл', NULL, {путь: '/'});'. Спасибо – Alex

+0

@ w0rldart: Нет проблем! Рад помочь. –