一键打开多个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 函数替换警报。