我在JavaScript中的window.open
操作遇到了一些问题,可能需要一些指针(我到处都找过了!)。我想将宽度和高度设置为我之前定义的变量的值(根据时间设置)。这是代码:
<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
语句中,它也可以正常工作。
'width=x,height=y'
是一个字符串。x
是一个字符,而不是一个变量。
您希望将变量的值连接到字符串中:
"..." + x + "..."
在试用了您的代码后,我为您的问题找到了一个可能的解决方案。更改您的代码,使功能
getX()返回x
和
getY()返回y
然后改变函数window.open()
:的参数
var openWin = function(){window.open('','','width='+ getX(),'height=' + getY())};