常に 知りたかった. modal boxを 浮かべる 方法は 知りたいでしょう なかった. 裏を だ 覆う かけることは 半透明 阻む どうに 作るかどうかが 知りたかった.

答は 簡単だった. jQuery modal windowを 作る チュートリアルで 彼 方法を 見つけた. 私たちが して来た 方式して 大きく 違うの なかった. これだけ 持って プラグインを 作って 見ようか する 考えも 入った.

定木, 半透明 かけることは 阻む 作る 方法は 簡単だ.(例題から 見るのを バラなら 下の ファイルを 使えば なる.)

一応, HTML義 どこかに 下の コードを 挟んで 入れる. どこでも 星 上官 ないが 探し 楽な 所に 置くと 割 ことだ.

<div id="mask"></div>

次は CSSのに 下のように 日 与える.

#mask {  
  position:absolute;  
  left:0;
  top:0;
  z-index:9000;  
  background-color:#000;  
  display:none;  
}

最後に jQuery コードを 組んで 見よう.

function wrapWindowByMask(){
        //画面の 高さと 幅を 求める.
        var maskHeight = $(document).height();  
        var maskWidth = $(window).width();  

        //マスクの 高さと 幅を 画面 ので 作って 全体 画面を 満たす.
        $('#mask').css({'width':maskWidth,'height':maskHeight});  

        //アニメーション 效果
        $('#mask').fadeIn(1000);      
        $('#mask').fadeTo("slow",0.8);    
}

定木, 上 関数を 使えば 半透明の かけることは マスクが 現われる のだ. それでは どうに 閉めようか?

二 行か ある のだ.

1.mordal window義 閉じる ボタンを 押した 時

2.半透明 かけることは 阻む 押した 時

二 場合 皆を 支援すること ため click割 時 起きる イベントを 二 箇所 かけなくちゃいけない.

これは 原本で そのまま 掻いて 来た コードだ. .window増えた かけることは 幕 上に 浮かんだ mordal windowだ.

//閉じる ボタンを 押した 時
$('.window .close').click(function (e) {  
    //リンク 基本動作は 作動するの ないように する.
    e.preventDefault();  
    $('#mask, .window').hide();  
});       

//かけることは 阻む 押した 時
$('#mask').click(function () {  
    $(this).hide();  
    $('.window').hide();  
});

上 コードたちは 当然 jQuery(document).ready(function(){ /*コード 入れる 部分*/ }) で くるんで 与えると する.

完成された コードは 下と ようだ. (注意! DTD 宣言を 必ず 割 の!)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> 
<head> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
	<style> 
	#mask {  
	  position:absolute;  
	  z-index:9000;  
	  background-color:#000;  
	  display:none;  
	  left:0;
	  top:0;
	} 
	.window{
	  display: none;
	  position:absolute;  
	  left:100px;
	  top:100px;
	  z-index:10000;
	}
	</style> 
	<script src="http://code.jquery.com/jquery-latest.js"></script> 
	<script> 
	function wrapWindowByMask(){
		//画面の 高さと 幅を 求める.
		var maskHeight = $(document).height();  
		var maskWidth = $(window).width();  

		//マスクの 高さと 幅を 画面 ので 作って 全体 画面を 満たす.
		$('#mask').css({'width':maskWidth,'height':maskHeight});  

		//アニメーション 效果 - 一応 1初動の中 真黒く なってから 80% 不透明島で 行く.
		$('#mask').fadeIn(1000);      
		$('#mask').fadeTo("slow",0.8);    

		//ウィンドウ ような こと 浮かべる.
		$('.window').show();
	}

	$(document).ready(function(){
		//かけることは 幕 浮かべること
		$('.openMask').click(function(e){
			e.preventDefault();
			wrapWindowByMask();
		});

		//閉じる ボタンを 押した 時
		$('.window .close').click(function (e) {  
		    //リンク 基本動作は 作動するの ないように する.
		    e.preventDefault();  
		    $('#mask, .window').hide();  
		});       

		//かけることは 阻む 押した 時
		$('#mask').click(function () {  
		    $(this).hide();  
		    $('.window').hide();  
		});      
	});
	</script> 
</head> 
<body> 
	<div id="mask"></div> 
	<div class="window"> 
		<input type="button" href="#" class="close" value="私は 閉じる ボタン(.window .close)"/> 
	</div> 
	<a href="#" class="openMask">かけることは 幕 浮かべること</a> 
</body> 
</html>

半透明 かけることは 幕 慰労 ボックスを 浮かべる 時 ボックスを スクロールと 構わずに 画面の 情 中央に 来るように して たければ ‘[jQuery] レイヤード ポップアップ ボックスを 画面 情 中 位置させること(ie入った 派幅でも クロムでも だ なる こと)‘を 参考すれば なる.

タッチイベント(2013-05-31追加)処理

タッチが可能な機器で誤って黒い幕をタッチしてレイヤーを閉じることができるという指摘があった。しかし、画面を移動したり拡大縮小すると、レイヤーが閉まらない。正確にタッチする必要が閉鎖している。このため、混乱を与えないだろうと私は考える。

ただし、サイト企画者の立場では、選択可能なオプションがあるのでいいだろう。もし、黒い幕をタッチした場合には、閉じたくない場合は、Javaスクリプトに次のコードを追加すればよい。 (当然 $(document).ready(function(){ ... })の中に。)’touchstart‘イベントを使用した。

// タッチスクリーンで誤ってレイヤーを閉じる場合を防ぐには。
$('#mask').one('touchstart', function () {  
    $(this).unbind('click');
    alert('タッチイベントの時は何も起こらない。');
});

one()は、イベントに応じた関数を一度だけ実行し、そのイベントをunbindする関数である。

- コメント機能はありません。コメントの代わりに[email protected]にメールを送ってください。