ポップアップを非表示に



0   名前: だい : 2005/07/04 13:40
ある部分がクリックされた時、カーソルのすぐ下にポップアップレイヤーを表示させる、ということをしているのですが、
レイヤーが表示されるまでは良いのですが、同じ部分をクリックしないとレイヤーが非表示になりません。
そのレイヤー以外の部分をクリックした時にレイヤーを非表示にしたいのですが、どうしたらよいのでしょうか?

1   名前: t : 2005/07/04 13:40
使っているjavascriptが分からなければ答えようが無いと思いますが?

2   名前: だい : 2005/07/04 13:40
すみません。省略しすぎてしまいました。
*JAVASCRIPT部*
<SCRIPT language="JavaScript">
function ShowPopup(){
if (Layer_Progress.style.display=="none"){
Layer_Progress.style.left=window.event.clientX;
Layer_Progress.style.top=window.event.clientY;
Layer_Progress.style.display="block";
} else {
Layer_Progress.style.display="none";
}
}
</SCRIPT>



*HTMLレイヤー部*
<DIV id="Layer_Progress" style="POSITION: absolute; DISPLAY: none;">
<TABLE>〜略〜</TABLE>
</DIV>



*HTMLリンクテキスト部*
<A HREF=# ONCLICK="ShowPopup()">クリック</A>

と記述しています。よろしくお願いします。

3   名前: セイジ : 2005/07/04 13:40
// これを全部コピーして追加貼り付けすればできるかも
/*@cc_on document.attachEvent &&
document.attachEvent( 'onclick', function (e) {
if (window.Layer_Progress
&& Layer_Progress.currentStyle.display != "none"
&& window.ShowPopup) {
var a = e.srcElement;
if (Layer_Progress.contains( a )) return;
while (a) {
if (a.onclick == ShowPopup) return;
a = a.parentNode;
}
Layer_Progress.style.display = "none";
}
});@*/

一覧へ戻る