我如何在我的javascript代码中生成随机数
How do I generate a random number within my javascript code?
我正在使用一些第三方javascript在博客上的每个帖子中生成幻灯片。每个幻灯片必须有一个唯一的ID才能正常工作。我认为最简单的方法是在每个幻灯片加载到页面上时为其生成一个大的随机数。
下面是相关部分的代码片段,其中POSTID表示随机数。注意,必须在脚本下面的div中引用相同的随机数。
<script language="javascript" type="text/javascript">
$(function() {
$("#POSTID").webwidget_slideshow_dot({
slideshow_time_interval: '',
slideshow_window_width: '320',
slideshow_window_height: '480',
slideshow_title_color: '#17CCCC',
soldeshow_foreColor: '#000',
});
});
</script>
<div id="POSTID" class="webwidget_slideshow_dot">
<!-- some content goes here -->
</div>
任何帮助都将非常感激!
谢谢
Math.random()
产生一个在[0,1)范围内的伪随机数。
返回[0,1)范围内的浮点伪随机数,即从0(包含)到但不包括1(不包含),然后您可以将其缩放到所需的范围。
如果你想要一个大整数,在[0,999999]范围内,你可以缩放和四舍五入。例如,
((Math.random() * 1e6) | 0)
将产生一个伪随机整数,其范围为[0,999999]。
要将伪随机ID附加到脚本中,您可以这样做:<!-- Generate a random ID -->
<script>
var postID = 'post-' + ((Math.random() * 1e6) | 0);
</script>
<!-- Create a DIV with a generic ID. -->
<div id="POSTID">...</div>
<!-- Replace the DIV's ID with the generated ID -->
<script>$("#POSTID").attr('id', postID);</script>
<!-- Use the generated ID in a script. -->
<script>
(function() {
$("#" + postID).webwidget_slideshow_dot(...)
})()
</script>
注意JavaScript的Math.random()
不会产生不可猜的数字。只要你在网页中使用它作为GUID生成器,这是可以的,但是如果你把你的ID发送给服务器,你不应该依赖于不知道它的人。
一个简单的随机数有可能重复和打破你的逻辑。你不能用javascript创建一个"真正的"GUID,但你可以使用几个随机元素来伪造一个,使你的架构更加坚实。
为什么要使用随机数呢?只需使用计数器(var counter = 0),并在每次需要新ID时为其添加1。
$("#POSTID-" + counter++)
随机数是一种方法,它在其他答案中很好地涵盖了。
我使用不同的方法来获得唯一的值:Date
对象的getTime()
属性返回自1970年1月1日以来的毫秒数,因此在每次页面刷新时都是唯一的:
<div class="webwidget_slideshow_dot">
和JS:
$(function() {
var now = new Date();
var ts = now.getTime();
$(".webwidget_slideshow_dot").each(function(index) {
this.id = "webwidget_slideshow_" + (ts + index);
$(this).webwidget_slideshow_dot({
slideshow_time_interval: '',
slideshow_window_width: '320',
slideshow_window_height: '480',
slideshow_title_color: '#17CCCC',
soldeshow_foreColor: '#000'
});
});
});
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 代码不会验证
- 如何从rails中的代码中删除新行( )
- Angularjs代码未在匿名函数中运行
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 将 jQuery 代码添加到 Index.aspx 页面
- 为什么忽略了eval()代码中的语法错误
- 如何在 [“随机数”] 代码中加载随机数
- 用于选择随机数游戏的 JavaScript 代码不起作用
- 我如何在我的javascript代码中生成随机数