jQueryやprototypeなどのJavaScriptライブラリを使用して、ホームページに色々な効果をつけています。
その1つで、ナビゲーション箇所に「アコーディオンメニュー」を実装したのですが、ページ遷移する度に読み込みが遅いためか、メニューが全部展開(開いた)状態になってしまいます。
その後3秒~5秒ほどでアコーディオンが閉じた状態になります。
不恰好で困っています。
トップページなど入り口のページはあきらめるとして、他のページに遷移したときは、上記の「メニューが展開する」状態を回避する策はないでしょうか?
jquery.js
accordion.js
というようにサイトのすべてのページに読み込みをしています。
JavaScriptについては「外部ファイルにするとキャッシュが残る」というように聞いたことがありますが、それは一度閲覧したサイトを次回、訪れた際にキャッシュが残っているということでしょうか?
それともトップページで一度読み込みをすれば、他のページに遷移したときにトップページで既に読み込みをしたjsファイルがキャッシュされており、引き継がれる(再読み込みをしない)、ということでしょうか?
「アコーディオンがいちいち展開する」ことから、初めて訪れるページは、トップページでもサブページでも、同じjsファイルにもかかわらずいちいち読み込みいくということなのかな・・・と思っているのですが。
JavaScript、JavaScriptライブラリを混同しているような内容で、的はずれな質問をしてしまっているのかもしれませんが、当方、あまり知識を持ち合わせておらず、どうぞご容赦ください。
No.1ベストアンサー
- 回答日時:
>それは一度閲覧したサイトを次回、訪れた際にキャッシュが残っているということでしょうか?
その通りです。
jsファイルも基本的にはキャッシュに残り、次回同じサイトに訪れた場合はサーバから取得はされません。
※ httpヘッダやブラウザの設定によって異なります。
アコーディオンメニューとは何やらすごそうですね。
私自身は「アコーディオンメニュー」とやらは使ったことないのでよく知りませんが
画面表示時に「アコーディオンがいちいち展開する」というのは
単純にアコーディオンメニューとやらに変換する処理が重いのだと思います。
※ それにしても3~5秒はちょっとかかりすぎな気がしますが‥。
処理が重いことが原因なのであれば、初期表示ではメニュー部分を(divタグなどで囲って)非表示にしておき、
アコーディオンメニューの処理が終わった時点でメニュー部分を表示すればよい(例えばonloadイベントハンドラの最後にもっていくなど)かと思います。
No.2
- 回答日時:
#1です。
文章を読み直して一部誤解を与えそうな文章を訂正します。
誤)例えばonloadイベントハンドラの最後にもっていくなど
正)例えばonloadイベントハンドラの最後にメニューの表示処理を追加するなど
失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Chrome(クローム) 最近のGoogle Chromeのデータ読み込みの遅延やエラーって頻発しますか? 2 2023/01/06 22:12
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- その他(プログラミング・Web制作) httpsでsなし削除 2 2022/06/10 08:02
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- ホームページ作成・プログラミング パスワードつきホームページ トップページ以下はどうなる 6 2022/08/16 12:04
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- クレジットカード なんていうんだろ。一言で言えば二重請求なんだけど、 3 2022/06/23 10:57
- iPad メモリが16GBのipad proの使い心地は? 1 2022/11/30 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvファイルを読み込み、該当項...
-
Temporary Internet Filesにあ...
-
Vba SelStart、SelLen教えてく...
-
小数点入力チェック
-
文字を移動させその位置を表示...
-
初心者です。gulpでコンパイル...
-
ブラウザからエクセルを開く方法
-
ASP(VBS) ←→ JavaScript の変数...
-
VB.NET2003 テキストボックスに...
-
MATLAB で 連番処理をしたい
-
delete[]と、delete演算子の明...
-
エクセルVBA/ Formatで文字列が...
-
jqueryのbxsliderをマウスオー...
-
javascript:void(0)とは何でし...
-
VBA SORT Applyでエラー
-
ブラウザ自体の事じゃなくてJav...
-
以下のコードを実行しても、オ...
-
六曜カレンダー
-
「終了していない文字列型の定...
-
gas 全角数字を半角数字に変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
csvファイルを読み込み、該当項...
-
htmlのfileタグに自動で値を入...
-
テキストファイルの更新日時を取得
-
ページを一回だけリロードさせ...
-
javascriptでフォルダ内のファ...
-
JavascriptでのExcel起動について
-
JSでファイル数取得
-
jsファイルを閲覧者がダウンロ...
-
contenteditableで編集した内容...
-
javascriptでエクセルデータ読...
-
javascriptの効かないサーバー...
-
フォルダ内のファイル一覧
-
動的ファイルの最終更新日を取...
-
テキストファイルの一行目から...
-
JAVAスクリプトで商品コードか...
-
ホームページ内の新着情報を簡...
-
javascriptでJSONを取得する方法
-
JavaScript(ライブラリ)のキ...
-
xmldoc.loadで複数のファイル...
-
JavaScriptで検索
おすすめ情報