Сдвиньте панель вверх через x секунд, закройте по щелчку — SET COOKIE

надеясь, что кто-то может указать мне в правильном направлении.

Мы пытаемся улучшить подписку на наш список рассылки. Когда пользователь посещает наш сайт через x секунд, я бы хотел, чтобы панель скользила вверх, предлагая им подписаться на список рассылки.

Если они нажмут любую из кнопок (зарегистрироваться, закрыть, больше не показывать), я хочу установить файл cookie, чтобы панель больше не отображалась.

Я освоил слайд вверх/вниз, НО я новичок в работе с файлами cookie и не знаю, как его настроить, чтобы при установке файла cookie действие слайда не повторялось.

Вот мой jQuery...

// MAILING LIST SLIDER //
        // set a delay of 3 seconds before mailing list panel appears 
        $("#mailingListPanelSlide").delay(3000).slideDown("slow");

        // set triggers to close the mailing list panel & set cookie
        $("a#closeButton, p.negativeActionFormButton").click(function(){
            $("div#mailingListPanelSlide").slideUp("slow");
            $.cookie("mailingListPanel", "dontshow");
            }); 

        // HELP!!!! if cookie is set to collapsed, then don't perform slide down/hide panel altogether?
        var mailingListPanel = $.cookie("mailingListPanel");
        if (mailingListPanel == "dontshow") {
            $("div#mailingListPanelSlide").css("display","none");
            };


        //END MAILING LIST SLIDER //    

person V Neal    schedule 17.11.2011    source источник


Ответы (2)


У вас должен быть плагин jQuery cookie, если вы хотите использовать $.cookie https://github.com/carhartl/jquery-cookie

if($.cookie("mailingListPanel") !== 'dontshow'){
    // set a delay of 3 seconds before mailing list panel appears 
    $("#mailingListPanelSlide").delay(3000).slideDown("slow");
}else{
    $("div#mailingListPanelSlide").css("display","none");
}
// set triggers to close the mailing list panel & set cookie
$("a#closeButton, p.negativeActionFormButton").click(function(){
    $("div#mailingListPanelSlide").slideUp("slow");
    $.cookie("mailingListPanel", "dontshow");
}); 
person Adam Merrifield    schedule 17.11.2011
comment
Спасибо - да, у меня есть плагин jQuery. - person V Neal; 21.11.2011

person    schedule
comment
Как я могу использовать этот пример в своем вопросе здесь: stackoverflow.com/questions/25726082/ - person SearchForKnowledge; 08.09.2014