-1

テキストと写真がランダムな引用を生成したいと思います。機能していないため、誰かがこのコードを検証してください。[送信] を押しても何も起こりません。

<html>
    <head>
    <title>quote generator Javascript</title>
    </head>
    <body>

    <script type="text/javascript">

    quote = new Array()

    quote[0] = 'img/einstein.jpg';
    quote[1] = 'img/einstein.jpg';
    quote[2] = 'img/einstein.jpg';
    quote[3] = 'img/einstein.jpg';

    text = new Array()

    text[0] = 'hallo1';
    text[1] = 'hallo2';
    text[2] = 'hallo3';
    text[3] = 'hallo4';

    function popup(){
        if(['submit']){

            document.write('<a href="' + text[Math.floor(Math.random() * text.lenght)]; + '" ><img src="' + quote[Math.floor(Math.random() * quote.lenght)]; '" style="border:0px;" >');
        }
    }


    </script>

    <input type="button" value="random quote" id="submit" onclick="popup()">

    </body>
    </html>
4

2 に答える 2

1

ifあなたのコードはあなたの状態のために機能しません。
以来

(['submit'] == true)  // false

document.writeステートメントを実行することはないので、を削除するだけifです。また

quote.lenght

代わりにすべきです

quote.length

(の同上text

最後に、document.writeの代わりに、 1innerHTMLつまたは複数のcreateElement/appendChildメソッドを使用してマークアップを適切に挿入します

于 2012-10-01T10:04:33.990 に答える
0

Fabrizio's answer は、コードの問題のほとんどを指摘しています。私はあなたが必要ないと思う

if(['submit'])

送信ボタンが押されない限り、ポップアップ関数は決して実行されないためです。

また、乱数を生成するときは、これを行う必要があります。

text[Math.floor(Math.random() * (text.length-1))]

これは、text.length=4 のためですが、text[4] がありません。

于 2012-10-01T10:24:51.360 に答える