Сдвиньте панель вверх через x секунд, закройте при нажатии - SET COOKIE - PullRequest
2 голосов
/ 17 ноября 2011

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

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

Если они нажмут любую из кнопок (зарегистрироваться, закрыть,больше не показывать) Я хочу установить 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 //    

Ответы [ 2 ]

2 голосов
/ 17 ноября 2011

У вас должен быть плагин 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");
}); 
1 голос
/ 21 ноября 2011
   if ($.cookie("mailingListClosed") == null && $.cookie("mailingListNeverShow") == null) {
            $("#mailingListPanelSlide").delay(4000).slideDown("slow");
        };

        // Trigger for close panel button. Close panel and set session cookie
        $("a#closeButton").click(function () {
            $("div#mailingListPanelSlide").slideUp("slow");
            $.cookie("mailingListClosed", "true", { path: "/" });
        });

        // Trigger for never show panel button. Close panel and set persistent cookie
        $("p.negativeActionFormButton").click(function () {
            $("div#mailingListPanelSlide").slideUp("slow");
            $.cookie("mailingListNeverShow", "true", { expires: 365, path: "/" });
        });

        // Set persistent cookie if user clicks on the newsletter button as well
        $("p.genericLinkButton").click(function () {
            $.cookie("mailingListNeverShow", "true", { expires: 365, path: "/" });
        });
...