実現したいこと
閲覧いただきありがとうございます。
Wordpressにてサイトを作成しています。
会員登録のフローティングバナーをトップページで表示させたいと考えています。
更新や、毎回トップページに戻るたびにバナーが表示されてしまうと離脱率が上がってしまうと思い、
Cookie.jsを使用してバナーの×ボタンをクリックすれば1日は非表示になるようにしたいです。
発生している問題・分からないこと
JSにてCookieのコードを入力する箇所がイマイチ理解できておらず、
実装はしてみたものの、F5を押すと毎回フローティングバナーが表示されてしまいます。
該当のソースコード
HTML
1 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> 2 3 4<div class="member-pop-wrap"> 5 <a href="<?php echo get_permalink(351); ?>" class="member-pop "><img 6 src="<?php echo $dir_path ?>top/img/memberpop_PC1.jpg"></a> 7 <button class="close-banner" type="button"> 8 <i class="las la-times"></i> 9 </button> 10</div>
JavaScript
1$(function () { 2 var btnOffset = $('.search').offset().top; 3 var winH = $(window).height(); 4 var fixedbtn = $('.member-pop-wrap'); 5 var closeButtonClicked = false; 6 7 fixedbtn.hide(); 8 9 $(window).scroll(function () { 10 if (closeButtonClicked) return; //クリックされていたら以下実行しない 11 if ($(this).scrollTop() > btnOffset - winH) { 12 fixedbtn.addClass('activepop'); 13 14 } else { 15 fixedbtn.removeClass('activepop'); 16 } 17 }); 18 19 // 閉じるボタン 20 $(document).ready(function () { 21 22 $('.close-banner').click(function () { 23 $(this).parent().removeClass('activepop') 24 closeButtonClicked = true; 25 }); 26 27 }); 28 29 $('.close-banner').on('click', function () { 30 $.cookie('memberbannerclose', 'true', { expires: 1 }); 31 }); 32 33});
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
同様の実装方法を記載してくださっているサイトを見ながら試行錯誤してみました。
が、結果は同様に更新のたびにフローティングバナーが表示されてしまいます。
補足
特になし
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。