我想生成一些引文,其中文本和图片是随机的。有人可以验证这段代码,因为它不起作用。按下提交时没有任何反应。
<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>
答案 0 :(得分:1)
由于您的if
条件,您的代码无效
由于
(['submit'] == true) // false
您永远不会执行document.write
语句,因此请删除if
。还
quote.lenght
应该是
quote.length
(text
的同上)
最后,使用innerHTML
方法或createElement/appendChild
方法代替document.write来正确注入标记
答案 1 :(得分:0)
Fabrizio的回答指出了代码的大部分问题。
我觉得你不需要if(['submit'])
行,因为除非按下提交按钮,否则弹出功能将永远不会执行。
此外,在生成随机数时,您需要执行以下操作:
text[Math.floor(Math.random() * (text.length-1))]
这是因为text.length = 4,但没有文本[4]