3

これは JavaScript に関する質問です。

一度クリックすると 5 つのサブウィンドウ (ポップアップ ボックス) を開くボタンを作成する必要があります。

画面の左上隅、右上隅、左下隅、右下隅、中央にそれぞれ 1 つのボックスが 1 つずつ配置されます。各ボックスには異なる URL があります。

メイン ウィンドウを閉じると、すべてのサブ ウィンドウも閉じる必要があります。

私は1つのポップアップを開くコードしか実行できませんでした.1回のボタンクリックで5つすべてを一度に開き、親ウィンドウが閉じるときにすべてを閉じるようにコーディングする方法がわかりません。

これが私がこれまでに持っているものです:

<SCRIPT language="JavaScript">
function myPopup(URL) {
popupWindow = window.open(URL,'popUpWindow','height=500,width=500,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no, status=yes');
}
</SCRIPT>

<a href="#" onclick="myPopup(this.href);return false">Open Pop-Up</a>

私を助けてくれる人に感謝します。


私を助けてくれたみんなに感謝します。ここでのフィードバックを利用して、私はこのプロジェクトに終日取り組み、機能するコードをいくつか考え出しました。各ポップアップの URL を配列に割り当てる方法がわかりませんでしたが、少なくとも機能します。

ただし、親ウィンドウを閉じたときにすべてのポップアップを閉じることはできません。お役に立てれば幸いです。新しいコードは次のとおりです。

<script type="text/javascript">

/*Use Array - Open 5 new popup windows using onclick*/

function newWindow() {
 var winPop = new Array();
  winPop[winPop.length] = window.open('top_right.html','window1','scrollbars=no,width=235,height=155,left=1000,top=200,screenX=1000,screenY=200');
window.open('top_left.html','window2','scrollbars=no,width=235,height=155,left=325,top=200,screenX=325,screenY=200');
window.open('bottom_left.html','window3','scrollbars=no,width=235,height=155,left=325,top=600,screenX=325,screenY=600');
window.open('bottom_right.html','window4','scrollbars=no,width=235,height=155,left=1000,top=600,screenX=1000,screenY=600');
window.open('center_page.html','window5','scrollbars=no,width=235,height=155,left=660,top=450,screenX=660,screenY=450');
}

/*NOT WORKING FOR ME --Close all popups when parent window is closed*/

onbeforeunload = function() {
    for (var index = 0; index < winPop.length; ++index)
        winPop[index].close();
}
</script>
</head>

<body>
<div id="wrap"> <a href='' onclick='newWindow()'><img src='images/group_clicker.gif' border='0'></a> </div>
</body>
4

3 に答える 3

0

for ループを使用して、複数のウィンドウを開くことができます。ポップアップウィンドウに一意の名前を付けてください

function myPopup(URL) {
    for (var i = 0; i < 5; i++) {
        var popupWindow = window.open(URL, i, 'height=500,width=500,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no, status=yes');
    }
}
于 2013-07-27T07:44:57.927 に答える