今天无意中发现了一段java代码,很有意思。这断代码可以按照时间和你设定的参数随机显示一个数值。代码如下:
<script type="text/javascript">
<!--
var dataBase = [4]; // database
var isBound = true;
var r = 100;
var now=(new Date()).getHours();
if(now>=8&&now<10){
var r = Math.floor(Math.random() * 30) + 70;
}else if(now>=10&&now<12){
var r = Math.floor(Math.random() * 40) + 90;
}else if(now>=12&&now<14){
var r = Math.floor(Math.random() * 20) + 110;
}else if(now>=14&&now<15){
var r = Math.floor(Math.random() * 30) + 140;
}else if(now>=15&&now<17){
var r = Math.floor(Math.random() * 50) + 170;
}else if(now>=17&&now<19){
var r = Math.floor(Math.random() * 30) + 70;
}else if(now>=19&&now<22){
var r = Math.floor(Math.random() * 50) + 170;
}else if(now>=22&&now<23){
var r = Math.floor(Math.random() * 20) + 50;
}else{
var r = 0;
}
for(var i = 0; i < dataBase.length; i++){
if(r == dataBase[i]){
isBound = false;
arguments.callee();
break;
}
}
if(isBound) document.write(r);
//-->
</script>
上面的代码中,“var now=(new Date()).getHours();”这一句是用来获取当前时间的;下面还有“if(now>=8&&now<10)”的,表示的是如果当前时间在八点到十点之间则按照下面的函数输出;“var r = Math.floor(Math.random() * 30) + 70;”这段代码中的“Math.random() ”表示的是一个大于0小于1的随机数,“Math.floor”表示的是取计算出来后最接近的一个整数,所以这段代码最后输出的将会是一个70到99之间的随机整数,这段代码中的30和70可以改成你任意想要的数值。下面的代码一样,表示的是不同的时间按照设定的不同条件输出。
用这段代码,最后我做了一个下面这样的效果:


2#. 快乐淘宝网
发表于 2010-5-3 18:08:52