JQueryプラグインであるsimpler sidebarを使ってスライドメニューの実装をしました。
しかしページを更新する度に一瞬だけスライドメニューの中身が表示されてしまいます。原因を考えたときにDOMが読み込まれたあとにスライドメニューを非表示にする機能が実行されているためではないかという結論にいたりましたが・・・
コードは次のようになっています。
<html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> </head> <body> <nav class="navbar px-0"> <div class="container-fluid"> <!-- left --> <div class="d-block d-md-none px-0"> <!--スライドメニュー開閉ボタン--> <button class="navbar-toggler pull-sm-left navbar-left-menu-btn" role="button"><i class="material-icons">menu</i></button> </div> <!--スライドメニュー--> <div id="navbar-left-menu"> <div class="list-group list-group-flush"> <a href="" class="list-group-item list-group-item-action">ホーム</a> <a href="" class="list-group-item list-group-item-action">メニュー</a> </div> </div> </nav> <div class="container-fluid"> <!--メインコンテンツ--> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <script src="{% static 'js/jquery.simpler-sidebar.min.js' %}"></script> <script src="{% static 'js/main.js' %}"></script> </body> </html>
js/main.jsでスライドメニューの初期化を行っています。
$(function(){ $('#navbar-left-menu').simplerSidebar({ align: 'left', selectors: { trigger: '.navbar-left-menu-btn' } }); });
しかしJQueryのCDNをhead内で読み込みその他全てのそれに付随するjsファイルを同じくhead内で読み込むとなると表示速度が落ちてしまいますよね?他にもいろいろと影響はあると思いますが。
jsファイルを読み込む位置によってスライドメニューが更新する度に一瞬表示されてしまうという見解は正しいですか?またこれを解決するためにはどうすればいいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。