メニュ一覧をメインページとは別のhtmlページとして用意しています、
メインページからメニュ一覧を表示するボタンをクリックしてもメニュが表示されません。
なお、メインページに呼び出し先のメニュー一覧を記述した場合、
想定通りの挙動が出来てます。
(index.htmlのコメントアウトを外して外部ファイルの読み込みを行わないと想定通りの挙動となります)
メニュ内容を外部ファイル化し、メインページから読出し
なおかつ読み込んだメニューページ内のボタン動作をmain.js記述の通り動かすには、
どのように対処したら良いでしょうか。
よろしくお願い致します。
■環境
jqueryのバージョン:jquery-1.12.4.min.js
確認ブラウザ:Chrome 59,0
html
1<!-- 呼び出し元ページ(メインページ:index.html) --> 2<html> 3 4<head> 5 <meta charset="utf-8"> 6 <link rel="stylesheet" href="css/style.css"> 7 <script src="js/jquery-1.12.4.min.js" type="text/javascript"></script> 8 <script src="js/main.js" type="text/javascript"></script> 9</head> 10 11<body> 12 13 <header> 14 <div class="menu_btn" id="menu_btn"></div> 15 16 </header> 17 18 <!-- <div class="menu_layer" id="menu_layer" style="display: none;"> 19 <div class="menu_popup"> 20 <div class="popup_btn_container"> 21 <div class="popup_btn" id="close_btn">とじる</div> 22 </div> 23 </div> --> 24 25</body> 26 27</html>
html
1<!-- 呼び出しページ(メニューページ:menu.html) --> 2<div class="menu_layer" id="menu_layer"> 3 <div class="menu_popup"> 4 <div class="popup_btn_container"> 5 <div class="popup_btn" id="close_btn">とじる</div> 6 </div> 7 </div>
js
1 // メニューページ呼び出し時の操作:main.js 2 $(function() { 3 // menu.htmlの読み込み 4 $('#menu_layer').load("./menu.html"); 5 6 // メニューのオーバーレイ動作 7 $('#menu_btn').on('click', function() { 8 $('#menu_layer').fadeIn(250); 9 }); 10 11 $('#close_btn').on('click', function() { 12 $('#menu_layer').fadeOut(200); 13 }); 14 15 });
css
1@charset "UTF-8"; 2/* 参考:スタイルシート(style.css) */ 3header .menu_btn { 4 display: block; 5 position: absolute; 6 cursor: pointer; 7 top: 0px; 8 left: 0px; 9 width: 44px; 10 height: 44px; 11 background-image: url("../img/btn_menu.svg"); 12 background-size: 18px 15px; 13 background-position: left 10px top 25px; 14 background-repeat: no-repeat; 15} 16 17.menu_popup { 18 margin-top: 140px; 19 text-align: center; 20 background-color: #fff; 21 padding-bottom: 10px; 22 border-top: 2px solid #f4566d; 23 border-bottom: 2px solid #f4566d; 24} 25 26.menu_popup .popup_btn_container { 27 text-align: center; 28 margin: 20px 0px; 29} 30 31.menu_popup .popup_btn { 32 display: inline-block; 33 width: 140px; 34 height: 24px; 35 line-height: 24px; 36 color: #561219; 37 text-align: center; 38 font-size: 12px; 39 background-color: #f2dadf; 40 border-radius: 12px; 41}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/02 08:27