回答編集履歴

1 訂正

root_jp

root_jp score 3955

2018/02/22 21:09  投稿

> jsファイルを同じくhead内で読み込むとなると表示速度が落ちてしまいますよね?
HTMLのレンダリング速度は変わりませんが、HTMLのレンダリングをブロックしてしまうので、
表示されるまでの時間は長くなってしまいますね。
> jsファイルを読み込む位置によってスライドメニューが更新する度に一瞬表示されてしまうという見解は正しいですか?
正しいと思います。
HTMLがレンダリングされた後にスライドメニュー化の処理が走るわけですから、
そこが完了するまでは、処理前のHTMLが表示されるのは普通のことです。
###### 追記  
jsファイルを読み込む位置は関係ありませんね。  
どこでjsを読み込もうが`#navbar-left-menu`のレンダリング後でないとスライドメニュー化できないため、  
`#navbar-left-menu`は表示されます。  
読み込み位置が関係するのはHTMLのレンダリングをブロックするか否かってところです。  
 
> またこれを解決するためにはどうすればいいのでしょうか?
`#navbar-left-menu`の`display`の初期状態を`none`にしておいて隠しておいてはどうでしょうか。
`simplerSidebar`を実行することで、自動的に表示状態にしてくれるかもしれませんし、
してくれなければ、`simplerSidebar`の実行完了後に自分で`none`を解除すればいいと思います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る