一键打开多个childwindows
Open multiple child windows with one click
单击单个按钮时,我试图打开多个 child windows。例如,我有一个标记为“1”的块,单击它时,将播放相应的 child window 和冲击波 flash 视频。但是,我希望块 2 和块 9 中的视频也能播放,因为它们紧挨着块 1。或者,如果我单击块 12,则块 4、11、13 和 20 的 windows 也会出现,因为它们围绕着 12.
这是我正在使用的网站,可以给你一个更好的主意。
http://alexalmaguer.site90.com/
这是我用来让 child window 出现在一个视频中的代码。
<a href="1.html," target="ItsAGoodDay" onClick="wopen('1.html', 'ItsAGoodDay', 400, 300); return false;">1</a>
1.html 只有一个带有 .swf 的 object 标签,还有一些样式可以使 .swf 保持在 window.[=15 的中间=]
我还使用我在该网站上找到的预制脚本在打开时将 child window 置于屏幕中间。我认为这也可能需要更改。
<!--
function wopen(url, name, w, h)
{
w += 32;
h += 96;
wleft = (screen.width - w) / 2;
wtop = (screen.height - h) / 2;
if (wleft < 0) {
w = screen.width;
wleft = 0;
}
if (wtop < 0) {
h = screen.height;
wtop = 0;
}
var win = window.open(url,
name,
'width=' + w + ', height=' + h + ', ' +
'left=' + wleft + ', top=' + wtop + ', ' +
'location=no, menubar=no, ' +
'status=no, toolbar=no, scrollbars=no, resizable=no');
win.resizeTo(w, h);
win.moveTo(wleft, wtop);
win.focus();
}
编辑:由于space的限制,我想我可能只打开所选块的左侧和右侧的windows , 而不是顶部和底部的。
要一键打开多个子 windows,请执行以下操作。您只需要多次调用您的 wopen
。
function wopen(url, name, w, h) {
w += 32;
h += 96;
wleft = (screen.width - w) / 2;
wtop = (screen.height - h) / 2;
if (wleft < 0) {
w = screen.width;
wleft = 0;
}
if (wtop < 0) {
h = screen.height;
wtop = 0;
}
var win = window.open(url,
name,
'width=' + w + ', height=' + h + ', ' +
'left=' + wleft + ', top=' + wtop + ', ' +
'location=no, menubar=no, ' +
'status=no, toolbar=no, scrollbars=no, resizable=no');
win.resizeTo(w, h);
win.moveTo(wleft, wtop);
win.focus();
}
document.addEventListener('click', function (e) {
var win1 = wopen();
var win2 = wopen();
var win3 = wopen();
var win4 = wopen();
var win5 = wopen();
});
这是一个可能对您有所帮助的小脚本:
<script>
function myMethod(x){
alert("Open " + x + ".html");
if(x-1 > 1) {
alert("Open " + (x-1) + ".html");
}
if(x-8 > 1) {
alert("Open " + (x-8) + ".html");
}
if(x+1 <= 32) {
alert("Open " + (x+1) + ".html");
}
if(x+8 <= 32) {
alert("Open " + (x+8) + ".html");
}
}
</script>
Html:
<body>
<a href="#" target="ItsAGoodDay" onClick="myMethod(12)">12</a>
</body>
您可以尝试一下,看看您是否得到了想要的结果。
然后,您可以使用传递 html 名称的 wopen
函数替换警报。
单击单个按钮时,我试图打开多个 child windows。例如,我有一个标记为“1”的块,单击它时,将播放相应的 child window 和冲击波 flash 视频。但是,我希望块 2 和块 9 中的视频也能播放,因为它们紧挨着块 1。或者,如果我单击块 12,则块 4、11、13 和 20 的 windows 也会出现,因为它们围绕着 12.
这是我正在使用的网站,可以给你一个更好的主意。
http://alexalmaguer.site90.com/
这是我用来让 child window 出现在一个视频中的代码。
<a href="1.html," target="ItsAGoodDay" onClick="wopen('1.html', 'ItsAGoodDay', 400, 300); return false;">1</a>
1.html 只有一个带有 .swf 的 object 标签,还有一些样式可以使 .swf 保持在 window.[=15 的中间=]
我还使用我在该网站上找到的预制脚本在打开时将 child window 置于屏幕中间。我认为这也可能需要更改。
<!--
function wopen(url, name, w, h)
{
w += 32;
h += 96;
wleft = (screen.width - w) / 2;
wtop = (screen.height - h) / 2;
if (wleft < 0) {
w = screen.width;
wleft = 0;
}
if (wtop < 0) {
h = screen.height;
wtop = 0;
}
var win = window.open(url,
name,
'width=' + w + ', height=' + h + ', ' +
'left=' + wleft + ', top=' + wtop + ', ' +
'location=no, menubar=no, ' +
'status=no, toolbar=no, scrollbars=no, resizable=no');
win.resizeTo(w, h);
win.moveTo(wleft, wtop);
win.focus();
}
编辑:由于space的限制,我想我可能只打开所选块的左侧和右侧的windows , 而不是顶部和底部的。
要一键打开多个子 windows,请执行以下操作。您只需要多次调用您的 wopen
。
function wopen(url, name, w, h) {
w += 32;
h += 96;
wleft = (screen.width - w) / 2;
wtop = (screen.height - h) / 2;
if (wleft < 0) {
w = screen.width;
wleft = 0;
}
if (wtop < 0) {
h = screen.height;
wtop = 0;
}
var win = window.open(url,
name,
'width=' + w + ', height=' + h + ', ' +
'left=' + wleft + ', top=' + wtop + ', ' +
'location=no, menubar=no, ' +
'status=no, toolbar=no, scrollbars=no, resizable=no');
win.resizeTo(w, h);
win.moveTo(wleft, wtop);
win.focus();
}
document.addEventListener('click', function (e) {
var win1 = wopen();
var win2 = wopen();
var win3 = wopen();
var win4 = wopen();
var win5 = wopen();
});
这是一个可能对您有所帮助的小脚本:
<script>
function myMethod(x){
alert("Open " + x + ".html");
if(x-1 > 1) {
alert("Open " + (x-1) + ".html");
}
if(x-8 > 1) {
alert("Open " + (x-8) + ".html");
}
if(x+1 <= 32) {
alert("Open " + (x+1) + ".html");
}
if(x+8 <= 32) {
alert("Open " + (x+8) + ".html");
}
}
</script>
Html:
<body>
<a href="#" target="ItsAGoodDay" onClick="myMethod(12)">12</a>
</body>
您可以尝试一下,看看您是否得到了想要的结果。
然后,您可以使用传递 html 名称的 wopen
函数替换警报。