0

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うまく機能します。

4

2 に答える 2

2

'width=x,height=y'は文字列です。 x変数ではなく文字です。

変数のを文字列に連結します。

"..." + x + "..."
于 2012-08-26T19:20:31.683 に答える
0

コードを試した後、問題の解決策が 1 つ得られました。機能するようにコードを変更します

getX() は x を返します

getY() y を返す

次に、関数のパラメーターを変更しますwindow.open()

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

于 2012-08-26T23:43:55.640 に答える