随机访客看到图像

时间:2013-12-18 20:05:08

标签: javascript image if-statement random var

我试图让访问者有5%的机会看到图像。

<script>
    var rand = Math.round(Math.rand() * 20)
    if (rand === 13) {
        document.write("<img src="http://ima.gs/69/666/314/Placeholder-401x401.png" />")
    }
</script>

运行脚本时没有任何反应。

4 个答案:

答案 0 :(得分:6)

在Google Chrome浏览器中展示您的开发者工具cmd+shift ictrl+shift i

随机方法不称为rand,称为random

var rand = Math.round(Math.random() * 20);

这是您在javascript控制台TypeError: Object #<Object> has no method 'rand'

中看到的错误

开发人员工具,它们是什么以及如何使用它们:

编辑: 正如其他人指出的那样,你的document.write参数也有问题。显示在"附带的字符串中的任何"都必须转义为不会将输出中断为\",否则可以使用'

正确转义字符串

"<img src=\"http://ima.gs/69/666/314/Placeholder-401x401.png\" />"
"<img src='http://ima.gs/69/666/314/Placeholder-401x401.png' />"
'<img src="http://ima.gs/69/666/314/Placeholder-401x401.png" />'
'<img src=\'http://ima.gs/69/666/314/Placeholder-401x401.png\' />'

答案 1 :(得分:3)

看起来你的双引号太多了。试试这个:

document.write("<img src='http://ima.gs/69/666/314/Placeholder-401x401.png'/>")

答案 2 :(得分:3)

除了使用Math.rand()代替Math.random()以及其他人提到的一些引用问题之外,您的代码可能会更短,效率更高。

<script>
   if(Math.random() < 0.05) {
      document.write("<img src='http://ima.gs/69/666/314/Placeholder-401x401.png' />");
   }
</script>

此外,我发现0.05更清楚地反映5%而不是“13是20中的1,这是5%”; - )

答案 3 :(得分:3)

要生成随机数,请使用Math.random(),而不是Math.rand()