質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

474閲覧

js.cookie.jsを使ったサイトの背景色変更に関するクッキーの保存と呼び出し、利用

yuiran

総合スコア15

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2022/08/18 08:51

慶應義塾大学のサイト模写をしていて、背景を白から黒に変更した際に、その状態をクッキーに保存し、背景が黒になった後は、ページを再読込しても、背景が黒の状態で読み込まれる、ということを実現したいです。

現時点でこのようなコードを書いています。

HTML

1<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> 2 <script type="text/javascript" src="js/jquery.cookie-1.4.1.min.js"></script> 3 4<dl class="textSize list-inline text-right"> 5 <dt class="list-inline-item pb-1 align-bottom" ><small>文字<br>サイズ</small></dt> 6 <dd id="textLarge" class="list-inline-item border p-2 mr-0"><a href="#">拡大</a></dd> 7 <dd id="textNormal" class="textDefault list-inline-item border p-2"><a href="#">標準</a></dd> 8 <dt class="list-inline-item pb-1 align-items-center" ><small>背景変更</small></dt> 9 <dd class="list-inline-item border p-2 mr-0"><a id="black" href="#">黒</a></dd> 10 </dl> 11 12 <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous"></script> 13 <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script> 14 15 16 <script type="text/javascript" src="js/jquery.js"></script>

CSS

1.blackback,.blackback .dropdown:hover,.blackback .a-taisetu ,.tab-area .blackback *,.blackback.rec_infoarea *,.blackback .card-header, .header-menu .blackback *{ 2 background-color: black!important; 3 color: #fff!important; 4} 5.blackback li a{ 6 color: #fff!important; 7} 8.blackback .cl-dropdown-m li a:before, .blackback .card-body ::before{ 9 display: none; 10 11 }

jQuery (自分で作成したjquery.jsというファイルに記述しているコード)

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 var $bblackc= $fblackback.hasClass('blackback'); 5 6 7 var cookie = Cookies.get("havingb"); 8 9 10 $(function(){ 11 if(cookie){ 12 $('#black').on('click',() => { 13 14 $fblackback.removeClass('blackback'); 15 $('#headerlogo').find('img').attr('src', '../img/logo_01.png'); 16 $("#black").text($("#black").text().replace("白", "黒")); 17 $lfmandcb.css('color','#212529'); 18 $bluetowhf.css('color','#007bff'); 19 20 / 21 22 } 23 24 )} 25 else{ 26 $('#black').on('click',() => { 27 $fblackback.addClass('blackback'); 28 $("#black").text($("#black").text().replace("黒", "白")); 29 $('#headerlogo').find('img').attr('src', '../img/blackverlogo.png'); 30 $lfmandcb.css('color','#fff'); 31 $bluetowhf.css('color','#fff'); 32 Cookies.set("havingb",$bblackc); 33 34 35 } 36 )}; 37 38 }); 39

実現したいこと

背景を黒にした後にその状態がクッキーに保存され、ページを再読込しても、背景黒のページが表示される。

背景変更ボタンを押すたびに、黒、白と背景が変更される。

発生している問題・エラーメッセージ

上記のjQueryのコードでは、機能ぜず、
jquery.js:24 Uncaught ReferenceError: Cookies is not defined.
というエラーメッセージが表示されます。

該当のソースコード

エラーの該当コードはこちらです。

jQuery

1 2 var cookie = Cookies.get("havingb"); 3

以前、
https://teratail.com/questions/9z0r0mp3inwyn6
で教えていただきましたが、Javascriptでのコードで自分が組んだコードと大きくかけ離れていたため、解決することができませんでした。すみません。

できれば、私が今回の質問に書いたコードをベースにご教授いただきますと助かります。
我儘言って本当に申し訳ありません。
どうぞ、よろしくお願いいたしますm(_ _)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2022/08/18 09:18 編集

jquery.jsnの24行目は具体的にどこの部分ですか? ソースの提示が中途半端です。 codepenなどソースが載せられるサイトにアップしてもらうと指摘しやすいでしょう
yuiran

2022/08/18 11:23

ご指摘とうございます。 24行目は、質問文にも記載しております、 該当のソースコード エラーの該当コードはこちらです。 に書いてある以下のコードになります。 var cookie = Cookies.get("havingb"); よろしくお願いいたします。
guest

回答1

0

結局jquery.cookie.js(HTMLのscriptタグより)を使うならCookies.getではなく$.cookieです

投稿2022/08/18 14:36

RiaFeed

総合スコア2701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問