jQueryに詳しい方、教えてください。
以下のように、”コンテンツをオーバーレイ表示させる”というのを制作中のページに組み込みました。
この記述では、「close」ボタンでしか、オーバーレイ表示を閉じることが出来ないのですが、オーバーレイ表示中に、画面上のどこかをクリックしたら閉じるようにしたいです。どのように記述すればよいのでしょうか?
イメージは、ライトボックスのような感じです。
<div id="overlay">
<p id="text">オーバーレイ表示</p>
<p id="close">close</p>
</div>
<div id="btn">click</div>
<script type="text/javascript">
$(function() {
$("#btn").click(function() {
$("#overlay").fadeIn();
});
$("#close").click(function() {
$("#overlay").fadeOut();
});
});
</script>
どうぞよろしくお願いします。
みんなの回答 6 件
単純にどこかクリックしたらフェードアウトさせたいなら
$("#close").click
を
$(’body’).click
にしたらどうですか?
$.not()使えばいけるんちゃう?(適当)
オーバーレイの下に画面全体を覆うレイヤーを生成して、それにクリックイベントを設定してみては?
アプリ開発する時はそんな感じでやってるけど、Webの場合はようわからん。
これかな
$("#overlay").click = $("#close").click;
$(’#overlay’).click~でいいでしょ。#closeクリックしたら上位オブジェクトにイベント伝達されるし結果は同じ。厳密にやりたいならpreventDefaultとかググれ。
早く俺の答えた回答試さんかーい!
関連するトピックス