Измените свой второй if
на else if
.Кроме того, согласно документации плагина:
Примечание: при удалении куки-файла необходимо указать точно такой же путь, домен и параметры безопасности, которые использовались для установки куки-файла.
Поэтому убедитесь, что передали тот же параметр path
при удалении cookie:
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
блок.Затем второе условие оценивается как истинное, в результате чего для файла cookie снова устанавливается значение null
.
Пример: http://jsfiddle.net/andrewwhitaker/azHK2/