▼ リンクが間違っていてたので訂正しました(2015/11/13) デモページ デモページ内の薄い灰色の部分は、IFRAME です。 jQuery で、ページ内で F1 キー(HELP) を起動させないようにする / IFRAME 内も同時対応 で、F1 キーのヘルプ機能を抑制したので、かわりに jQuery プラグイン の mmenu でメニューを開くようにしています。( 開いている状態で F1 キーを押すと、メニューは閉じるようになっています ) mmenu は、本体のページに実装されるので、IFRAME の上に重なる形で開いたり閉じたりします。本来は、単一のページ上で使われる為か、メニューのリンクをクリックしてもメニューが閉じないので、後からメニューに対して処理できるように、mmenu の API を取得して使用します。 F1 キーで、左側のメニューを開いた後、F2 で右側のメニューを開くと、自動的に左側のメニーは閉じます。これはもともとの動作ですが、通常とは違う形で元のページもスライドします。そして、メニーを閉じると元に戻るのですが、これも全て元々の動作です。 ライブラリは、CDN(cdnjs.com) でホスティングされているので、ダウンロードする事無く実装する事ができます。ダウンロードする場合は、配布ページよりダウンロード可能です。 ▼ 配布ページ
ライセンスは、MIT ライセンスが使われていますが、『if you are going to use it in a commercial project, please donate.』とあって、商用の場合は寄付(donationware)をお願いしますとの事です。いわゆる、『カンパウェア』のようです
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=<?= $_SESSION["charset"] ?>">
<title>PHPテンプレート</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
<?php
// *************************************
// mmenu 用の CDN ホスディング
// *************************************
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/5.5.3/core/js/jquery.mmenu.min.all.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/5.5.3/core/css/jquery.mmenu.all.css">
<link rel="stylesheet" href="css.php">
<link rel="stylesheet" href="iframe_css.php">
<script src="iframe_js.php"></script>
<style>
<?php
// *************************************
// mmenu 用のスタイルのカスタマイズ
// *************************************
?>
.mm-title {
color: black!important;
}
.mm_user_title {
padding: 20px!important;
}
</style>
<script>
// mmenu に対しての処理用
var mmenu_api_left;
var mmenu_api_right;
$(function() {
$("#mmenu_left").mmenu({
navbar: {
title: "オプションメニュー 左"
},
offCanvas: {
position : "left",
zposition : "front"
}
});
// mmenu に対して処理を行うオブジェクトを取得
mmenu_api_left = $("#mmenu_left").data( "mmenu" );
// メニューをクリックした時に、メニューを閉じる
$(".mm_link_left").on("click",function(){
mmenu_api_left.close();
});
$("#mmenu_right").mmenu({
navbar: {
title: "オプションメニュー 右"
},
offCanvas: {
position : "right",
zposition : "front"
}
});
// mmenu に対して処理を行うオブジェクトを取得
mmenu_api_right = $("#mmenu_right").data( "mmenu" );
// メニューをクリックした時に、メニューを閉じる
$(".mm_link_right").on("click",function(){
mmenu_api_right.close();
});
// F1 キーで HELP を起動させないようにする
// ※ document のかわりに window でも動作するはずです(IFRAME内は window です)
// ※ $( "body" ) は不可です
$( [document,$( "iframe" ).get(0).contentWindow] )
// IE 用
.on( "help", false )
// IE 以外の一般処理用
.on( "keydown", function(e){
if ( e.keyCode == 0x70 ) {
// F1 キーでメニューを開いたり閉じたりします
if($('#mmenu_left').is(':visible')) {
mmenu_api_left.close();
}
else {
mmenu_api_left.open();
}
return false;
}
if ( e.keyCode == 0x71 ) {
// F2 キーでメニューを開いたり閉じたりします
if($('#mmenu_right').is(':visible')) {
mmenu_api_right.close();
}
else {
mmenu_api_right.open();
}
return false;
}
});
});
</script>
</head>
<body>
<div id="wrapper">
<div id="head_unit">
<form
method="get"
target="target_accept"
action="accept_r.php">
<input
type="text"
name="tx1">
<input
type="button"
value="リセット"
style="background-color:white;"
onclick="location.reload(true);">
<input
type="submit"
name="send"
value="送信">
</form>
</div>
<iframe
src="accept_r.php"
id="<?= $_SESSION["iframe_id"] ?>"
name="target_accept"
frameborder="0"
></iframe>
</div>
<div id="mmenu_left">
<ul>
<li class="mm_user_title">jQuery mmenu</li>
<li><a class="mm_link_left" href="http://winofsql.jp/if_skeleton/lightbox99/pdf/pdf_out.php" target="target_accept">PDF</a></li>
<li><a class="mm_link_left" href="#" target="target_accept">メニュー2</a></li>
<li><a class="mm_link_left" href="#" target="target_accept">メニュー3</a></li>
<li><a class="mm_link_left" href="#" target="target_accept">メニュー4</a></li>
<li><a class="mm_link_left" href="#" target="target_accept">メニュー5</a></li>
<li><a class="mm_link_left" href="#" target="target_accept">メニュー6</a></li>
<li><a class="mm_link_left" href="accept_r.php" target="target_accept">初期ページ</a></li>
</ul>
</div>
<div id="mmenu_right">
<ul>
<li class="mm_user_title">jQuery mmenu</li>
<li><a class="mm_link_right" href="http://winofsql.jp/if_skeleton/lightbox99/pdf/pdf_out.php" target="target_accept">PDF</a></li>
<li><a class="mm_link_right" href="#" target="target_accept">メニュー2</a></li>
<li><a class="mm_link_right" href="#" target="target_accept">メニュー3</a></li>
<li><a class="mm_link_right" href="#" target="target_accept">メニュー4</a></li>
<li><a class="mm_link_right" href="#" target="target_accept">メニュー5</a></li>
<li><a class="mm_link_right" href="#" target="target_accept">メニュー6</a></li>
<li><a class="mm_link_right" href="accept_r.php" target="target_accept">初期ページ</a></li>
</ul>
</div>
</body>
</html>
|
|
【IFRAME パッケージの最新記事】
- CSS の calc 関数を使って、IFRAME を画面下半分にフィットさせる
- jQuery プラグイン : Columns と PHP の連携と、ドキュメントには書かれていないカスタマイズ方法
- 1会話・IFRAME(TCPDF)テンプレート : jQuery + Bootstrap(css) + mmenu + Firebase + TCPDF + PHP
- jquery.ajax-combobox(オートコンプリートとドロップダウンリストを組み合わせたコンボボックス) を使用して、入力可能なコンボックス( しかもリストはページャ付き )
- jquery.ajax-combobox で JSON をデータに使う場合、複数項目を検索対象にする為の簡単な改造
- FileSaver.js と canvas-toBlob.js を使って、canvas で表示されているイメージを保存する
- クリックしたコンテンツ以外を暗転する jQuery TOOLS の expose プラグイン
- tabIndent.js : テキストエリアでタブが使用できます。オリジナルを少し改造して、jQuery の名前空間に登録しました。
- 何もかも回転する、jQuery の簡単なプラグイン実装
- jQuery UI の タブ と アコーディオンで、スキンのチェック
- tableMagic で作成されたテーブルを fixedheadertable でヘッダと左端列を固定 / jQuery プラグイン
- jQuery : Columns で作成されたテーブルを fixedTblHdrLftCol でヘッダと左列を固定( CSS カスタマイズ )
- IOS のようなスクロールバーインターフェイスを jQuery のプラグインとして実現する jQuery.NiceScroll
- jQuery : 一つの 複数選択の SELECT 要素から二つのリストボックスを作成して、必要なグループ選択するプラグイン / multiselect.js と PHP との連携
- jQuery で、ページ内で F1 キー(HELP) を起動させないようにする / IFRAME 内も同時対応
- FRAME の代替として使う IFRAME パッケージ








