1

JS Cookie に基づいてニュースレター セクションを作成しようとしています。すべてが正しく機能していますが、Cookie の有無にかかわらずコンテンツが表示されます。JS-cookie スクリプトを使用しています。

このセクションは、ユーザーがまだ Cookie を設定していない場合にのみ表示されるようにしたいと考えています。基本的には、サイトを初めて閲覧する場合、または Cookie の有効期限が切れた後 (30 日) です。

現在、プライベート ブラウザや別のコンピュータなどを使用しても、Cookie が設定されていると表示され続けます。私の現在のコードには、設定されていないときにそれがあるため、 ! を削除しない限り、div 表示は表示されません。if文から。

Cookieにはjs-cookieを使用しています。コードペンを見ることができますhttp://codepen.io/byoungz/pen/YqoxJy

var emailSignup = document.getElementById("tgs-subscribe-bar"),
    screenWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);

$('#tgs-subscribe-bar').hide();


if (Cookies.get('emailsignup') == 'null') {
    if (screenWidth < 768) {
    //code for smaller screens      
    setTimeout(function() {
            $('#tgs-subscribe-bar').slideDown();
    }, 4000);

    } else {
        //code for larger
        setTimeout(function() {
                $('#tgs-subscribe-bar').slideDown();
        }, 1000);
    }

    Cookies.set('emailsignup', 'seenemail', { expires: 30, path: '/' });
}

 $('.email-exit').click(function() {     
      $("#tgs-subscribe-bar").slideToggle();
});
4

1 に答える 1