2014-02-05 3 views
2

Я пытаюсь настроить cookie с помощью jQuery Cookie так, чтобы предупреждение появлялось для новых посетителей, и когда вы нажимаете кнопку «закрыть», он устанавливает cookie и предотвращает отображение предупреждения , Я также хочу, чтобы файл cookie истекал через 24 часа.jQuery Cookie hide/show div

Я играл с некоторым кодом и получил его на работу, однако, как у меня есть это сейчас, div div отображается по умолчанию и скрыт только после нажатия. Это нормально, но когда файл cookie существует, предупреждение отображается в течение секунды секунды, прежде чем быть скрытым.

Как изменить следующий код, чтобы я мог скрыть div по умолчанию, и если файл cookie не существует, он будет отображаться, но если они нажмут кнопку закрытия, он сгенерирует файл cookie и скроет оповещение в течение 24 часов?

if ($.cookie('alert')) $('.alert-box').hide(); 
else { 
    $(".close").click(function() { 
     $(".alert-box").slideUp("slow", function() { }); 
     $.cookie('alert', true); 
    }); 
} 
+0

Используйте CSS для скрытия элемента по умолчанию. –

ответ

6

Вы можете скрыть оповещения ящик по умолчанию с помощью CSS и использовать JavaScript, чтобы показать его, когда нет печенья:

CSS:

.alert-box { 
    display: none; 
} 

JavaScript:

// if no cookie 
if (!$.cookie('alert')) { 
    $(".alert-box").show(); 
    $(".close").click(function() { 
     $(".alert-box").slideUp("slow"); 
     // set the cookie for 24 hours 
     var date = new Date(); 
     date.setTime(date.getTime() + 24 * 60 * 60 * 1000); 
     $.cookie('alert', true, { expires: date }); 
    }); 
} 
+0

Как применить код для моего вопроса здесь: http://stackoverflow.com/questions/25674877/how-to-use-session-cookie-to-open-close-a-slide-in-div – SearchForKnowledge