📁xampp
|
📁htdocs
|
📁samplefolder
|
sample.php
index.html
📁js
|
sampleAjax.js
content_switch.js
content_hide.js
<?php print ' <div style="line-height:1.5;margin-top:10px;padding-right:30px;border:1px solid #FF0000;"> <ul> <li><a href="http://www.msn.com/ja-jp/" target="_blank">MSN Japan - ニュース, 天気, メール (Outlook, Hotmail)......</a></li> <li><a href="https://www.yahoo.co.jp/" target="_blank">Yahoo! JAPAN</a></li> <li><a href="https://www.goo.ne.jp/" target="_blank">goo</a></li> <li><a href="https://www.google.co.jp/" target="_blank">Google</a></li> </ul> </div> '; ?>
window.onload = init;
function init() {
// ブラウザの判定
if (window.XMLHttpRequest) {
// インスタンスを作成
var xmlhttp = new XMLHttpRequest();
} else {
alert("IEバージョン7.0以上のブラウザをご利用ください!。");
return null;
}
// アドレスへ接続開始
xmlhttp.open("POST","sample.php",true);
// 通信完了で関数を呼び出し
xmlhttp.onreadystatechange = function(e) {
// 通信が正常終了か
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// サーバーからデータを取得して表示するhtmlファイルのid属性に設定
document.getElementById("contentDsp").innerHTML = xmlhttp.responseText;
}
}
// ヘッダー
/* POST送信のときsendメソットに引数を設定しない場合は、必要ないが
* ブラウザによっては送信エラーが生じる恐れがあるようです。
* なるべく設定して置いた方が良いようです。
*/
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
xmlhttp.send();
}
//表示切り替え関数
function block_switch(bs) {
if (document.getElementById(bs).style.display == "block") {
document.getElementById(bs).style.display = "none";
} else {
document.getElementById(bs).style.display = "block";
}
}
// クリック位置が#contentLinkの領域外なら#contentIdを非表示
$(document).click(function(e) {
if(!$.contains($('#contentLink')[0], e.target)){
$('#contentId').hide();
}
});
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<TITLE>コンテンツブロックの表示/非表示を切り替えるサンプルプログラム</TITLE>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="js/content_hide.js"></script>
<script type="text/javascript" src="js/content_switch.js"></script>
<script type="text/javascript" src="js/sampleAjax.js"></script>
</head>
<body>
<div id="container" style="z-index: 1; position: relative; height: 580px; border:1px solid #333;">
<table border="0">
<tr>
<th>
<div style="text-align:left;font-size:1.8rem;background:#F4F4F4;padding:8px;">コンテンツブロックの表示/非表示を切り替えるサンプルプログラム</div>
<div style="text-align:left;padding:5px;">表示状態でリンク領域外をクリックすると非表示。</div><br /><br />
</th>
</tr>
</table>
<br />
<table border="0" style="z-index: 2; position: absolute; left:10px; background:#FFF;">
<tr>
<td>
<div id="contentLink"><a href="javascript:void(0)" onclick="block_switch('contentId');">ContentBlockView</a></div>
</td>
</tr>
<tr>
<td>
<!--起動時は非表示-->
<div id="contentId" style="display:none;">
<div id="contentDsp"></div> <!--Ajax通信で取得したコンテンツブロックを表示-->
</div>
</td>
</tr>
</table>
<br /><br /><br />
<table border="0">
<tr>
<td>
<div style="margin-left:10px;padding:20px;background:#F4F4F4;">
CSSで「Z-INDEX」プロパティを使用して、コンテンツブロックの表示順位を、他の
テキスト・画像等のコンテンツより上位にして、上に重ねるように表示をしています。
</div>
</td>
</tr>
</table>
</div><!--end container-->
<footer>
Copyright © コンテンツブロックの表示/非表示を切り替えるサンプルプログラム
</footer>
</body>
</html>