0

window.open在 JavaScript 中的操作遇到了一些问题,并且可以使用一些指针(我已经到处搜索了!)。我想将宽度和高度设置为我之前定义的变量的值(并根据现在的时间进行设置)。这是代码:

<head>
    <meta charset="utf-8" />
    <title>Untitled</title>
    <meta name="generator" content="BBEdit 10.1" />

    <script type = "text/javascript">

var d = new Date();
var h = d.getHours();
var m = d.getMinutes();

m = Math.round(parseInt(m)/5)*5;

var x;
var y;

function test() {getY(); getX(); alert(h); alert(m); alert(y); alert(x);}


function getX() {

if (m==0)
    {x=200;}
else if (m==5)
    {x=210;}

***CONTINUED DOWN TO:

else if (m==50)
    {x=290;}
else
    {x=300;}
}


function getY() {

if (h==0)
    {y=200;}
else if (h==1)
    {y=210;}


***CONTINUED DOWN TO:

else if (h==22)
    {y=420;}
else
    {y=430;}

}


var openWin = function(){window.open('','','width=x,height=y')};

</script>

</head>
<body onload="test()">
<input type="button" value="Open Window" onclick="openWin()" />
</body>
</html>

我在加载时设置了一些警报,以检查变量是否设置正确,它们是……所以我不知道问题是什么!如果我在window.open语句中输入数字,它也可以正常工作。

4

2 回答 2

2

'width=x,height=y'是一个字符串。 x是一个字符,而不是一个变量。

您想将变量的连接到字符串中:

"..." + x + "..."
于 2012-08-26T19:20:31.683 回答
0

在尝试了您的代码后,我为您的问题找到了一种可能的解决方案。更改您的代码,以便该功能

getX() 返回 x

getY() 返回 y

然后更改函数的参数window.open()

var openWin = function(){window.open('','','width='+ getX(),'height=' + getY())};

于 2012-08-26T23:43:55.640 回答