gpt4 book ai didi

javascript - 使子窗口出现在随机位置

转载 作者:行者123 更新时间:2023-11-28 00:23:17 24 4
gpt4 key购买 nike

http://stackoverflow.com/questions/29788754/open-multiple-child-windows-with-one-click

^^ 我刚刚收到一些帮助来组建一个小网站,现在我对此有了不同的想法。

http://alexalmaguer.site90.com/

每当我单击其中一个按钮时,最多会出现 5 个子窗口,并且它们都显示在屏幕中央,因为下面的脚本告诉它们这样做。当只有一个窗口打开时这很好,但现在它们都出现在彼此之上。有什么方法可以更改此设置以使窗口出现在随机位置吗?

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();
}

最佳答案

  1. 随机化 wleft 和/或 wtop
  2. 删除参数中的空格以及任何 =no 参数,因为这是默认设置。
  3. 删除不必要的功能,除非它们在古老的浏览器上需要
<小时/>
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;
}
if (wleft > 0) {
wleft = Math.floor(Math.random() * wleft); // for example
}
var win = window.open(url, name,
'width=' + w + ',height=' + ',left=' + wleft + ',top=' + wtop);

win.focus();
}

替代方法是不随机化,而是记住坐标并每次添加窗口宽度

另一种选择是打开窗口,使其左侧和顶部与鼠标单击坐标对齐

关于javascript - 使子窗口出现在随机位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com