-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,使用一个innerHTML或多个createElement/appendChild方法来正确注入你的标记

于 2012-10-01T10:04:33.990 回答
0

Fabrizio 的回答指出了您的代码的大部分问题。我认为你不需要

if(['submit'])

行,因为除非按下提交按钮,否则弹出功能将永远不会执行。

此外,在生成随机数时,您需要这样做:

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

这是因为text.length=4,但是没有text[4]

于 2012-10-01T10:24:51.360 回答