慶応のサイト模写でサイトの背景色の変更のコードをjQueryで書いています。
背景は通常は白で、黒をクリックすると黒くなります。
その状態で、サイトを再読込すると、背景が黒であるという情報がクッキーに保存されていて
黒背景のサイトが表示されます。
これをjQueryで再現したいのですが、自分で試行錯誤してみましたができなかったので
お知恵をいただけましたら大変助かります。
クッキー設定がないもので背景変更がうまく行っているコード
HTML
1<div class="col-md-4"> 2 <div class="upper-h"> 3 <div class="uh-right mb-3"> 4 <ul class="list-inline list-unstyled text-right"> 5 <li class="list-inline-item"><a href="#" class="text-dark border-right pr-4"><u>サイトマップ</u></a></li> 6 <li class="list-inline-item pt-3 pb-3"><a href="#" class="text-dark border-right pl-4 pr-4"><u>English</u></a></li> 7 <li class="list-inline-item pt-3 pb-3"><a href="#" class="text-dark pl-4"><u>採用情報</u></a></li> 8 </ul> 9 10 <dl class="textSize list-inline text-right"> 11 <dt class="list-inline-item pb-1 align-bottom" ><small>文字<br>サイズ</small></dt> 12 <dd id="textLarge" class="list-inline-item border p-2 mr-0"><a href="#">拡大</a></dd> 13 <dd id="textNormal" class="textDefault list-inline-item border p-2"><a href="#">標準</a></dd> 14 <dt class="list-inline-item pb-1 align-items-center" ><small>背景変更</small></dt> 15 <dd class="list-inline-item border p-2 mr-0"><a id="black" href="#">黒</a></dd> 16 </dl>
jQuery
1var $fblackback = $('.base,.header-menu,.nvb-colour,.dropdown-menu,.thr-dropdown-m,.taisetu-back,.for-purpose,.for-category,.tab-area,.nav-pills,.tab-content, .panel_area,.card-body,.admap_outer,.rec_infoarea,.access,.bottom-slider,.for-category ul,.card,#header-text'); 2 var $lfmandcb = $('.upper-h .uh-right dl dd a,.nav-link,.nav-link.active,.tcard .btn-link,.fp-item a'); 3 var $bluetowhf = $('li a,.link_list a'); 4 5 6$(function(){ 7 $('#black').on('click',() => { 8 if ($fblackback.hasClass('blackback')){ 9 $fblackback.removeClass('blackback'); 10 $('#headerlogo').find('img').attr('src', '../img/logo_01.png'); 11 $("#black").text($("#black").text().replace("白", "黒")); 12 $lfmandcb.css('color','#212529'); 13 $bluetowhf.css('color','#007bff'); 14 15 // クッキー破壊 16 17 18 19 } 20 else{ 21 22 $fblackback.addClass('blackback'); 23 $("#black").text($("#black").text().replace("黒", "白")); 24 $('#headerlogo').find('img').attr('src', '../img/blackverlogo.png'); 25 $lfmandcb.css('color','#fff'); 26 $bluetowhf.css('color','#fff'); 27 28 // クッキーセット 29 30 31 } 32 33 }); 34 }); 35
自分で書いてみたけれどクッキー設定や保存、破壊などができていないコード。
このコードだと、背景変更もできなくなってしまいました。
jQuery
1var $fblackback = $('.base,.header-menu,.nvb-colour,.dropdown-menu,.thr-dropdown-m,.taisetu-back,.for-purpose,.for-category,.tab-area,.nav-pills,.tab-content, .panel_area,.card-body,.admap_outer,.rec_infoarea,.access,.bottom-slider,.for-category ul,.card,#header-text'); 2 var $lfmandcb = $('.upper-h .uh-right dl dd a,.nav-link,.nav-link.active,.tcard .btn-link,.fp-item a'); 3 var $bluetowhf = $('li a,.link_list a'); 4$(function(){ 5 if($.cookie("havingb")){ 6 7 $('#black').on('click',() => { 8 if ($fblackback.hasClass('blackback')){ 9 $fblackback.removeClass('blackback'); 10 $('#headerlogo').find('img').attr('src', '../img/logo_01.png'); 11 $("#black").text($("#black").text().replace("白", "黒")); 12 $lfmandcb.css('color','#212529'); 13 $bluetowhf.css('color','#007bff'); 14 $.cookie("havingb",""); 15 // クッキー破壊 16 } 17 else{ 18 19 $fblackback.addClass('blackback'); 20 $("#black").text($("#black").text().replace("黒", "白")); 21 $('#headerlogo').find('img').attr('src', '../img/blackverlogo.png'); 22 $lfmandcb.css('color','#fff'); 23 $bluetowhf.css('color','#fff'); 24 $.cookie("havingb", $fblackback.hasClass('blackback')); 25 // クッキーセット 26 } 27 }); 28 } 29 else{ 30 31 } 32 33 });
背景を黒に変更したあとにサイトを再読込した時に、黒背景の状態で読み込めるようにするにはどのようにクッキーセットのjQueryをかけばいよいでしょうか?
教えていただきますよう、どうぞ、よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/23 09:51