随机模拟滚动QQ中奖信息的代码
写了一个模拟中奖信息的代码。
一共有4个随机信息:
- 随机6-10位数的QQ号
- 随机每天的中奖人数
- 随机中奖的奖品
- 今天的随机中奖人数少于前几天的随机数
演示效果:

代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="./style.css">
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<div class="title">
<span class="qq">领取QQ</span>
<span class="time">完成时间</span>
<span class="prizes">获得奖励</span>
</div>
<div id="review_box">
<ul id="comment1"></ul>
<ul id="comment2"></ul>
</div>
</body>
<script src="./script.js"></script>
</html>* {
margin: 0;
padding: 0;
}
#review_box {
width: 600px;
height: 400px;
overflow: hidden;
text-align: left;
padding: 1rem;
margin: 1rem;
}
ul {
list-style: none;
}
.prize{
color: #f00;
}
.title{
width: 600px;
padding: 1rem 1rem 0;
}
.qq{
margin-left: 18px;
font-weight: bolder;
color: #dc00e0;
}
.time{
margin-left: 120px;
font-weight: bolder;
color: #dc00e0;
}
.prizes{
margin-left: 120px;
font-weight: bolder;
color: #dc00e0;
}var dayTotal = 5; //最近几天的包含今天
var dayMin = 36; //每天最少多少条
var dayMax = 72; //每天最多多少条
$(function () {
var dayArr = getDay(dayTotal);
var html = [];
for (var v = 0; v < dayArr.length; v++) {
var dayNum = randomNum(dayMin - 7, dayMax - 14);
if (v !== 0) {
dayNum = randomNum(dayMin, dayMax);
}
for (var t = 0; t < dayNum; t++) {
var vo = '<li>恭喜QQ:' + getQQ() + ' 于 ' + dayArr[v] + '日 推广成功!<span class="prize">奖励' + getPrize() + '</span></li>';
html.push(vo);
}
}
$("#comment1").html(html);
window.onload = roll(15);
function roll(t) {
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
ul2.innerHTML = ul1.innerHTML;
ulbox.scrollTop = 0;
var timer = setInterval(rollStart, t);
ulbox.onmouseover = function () {
clearInterval(timer);
}
ulbox.onmouseout = function () {
timer = setInterval(rollStart, t);
}
}
function rollStart() {
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
if (ulbox.scrollTop >= ul1.scrollHeight) {
ulbox.scrollTop = 0;
} else {
ulbox.scrollTop++;
}
}
function randomNum(minNum,maxNum){
switch(arguments.length){
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}
function getDay(num){
var dayArr = [];
var day = new Date();
for(var i = 0; i < num; i++){
if(i == 0){
day.setDate(day.getDate() - 0);
}else{
day.setDate(day.getDate() - 1);
}
dayArr.push(day.format("yyyy-MM-dd"));
}
return dayArr;
}
function getQQ(){
var qqNum = 1000000;
var num = Math.floor(Math.random() * 10000);
if(num >= 1 && num <= 8) {
qqNum = 1000;
} else if (num > 8 && num <= 82) {
qqNum = 10000;
} else if (num > 82 && num <= 214) {
qqNum = 100000;
} else if (num > 214 && num <= 7397) {
qqNum = 1000000;
} else {
qqNum = 10000000;
}
var qq = Math.floor(Math.random() * qqNum) + '***';
return qq;
}
function getPrize(){
var prizeArr = [1,2,3,4,5];
var n = Math.floor(Math.random() * prizeArr.length + 1) - 1;
var prize = '<img src="https://ae01.alicdn.com/kf/HTB10965akH0gK0jSZPi761vapXa7.png" width="15">永久豪华绿钻';
if (prizeArr[n] === 1) {
prize = '<img src="https://ae01.alicdn.com/kf/HTB10965akH0gK0jSZPi761vapXa7.png" width="15">永久豪华绿钻';
} else if (prizeArr[n] === 2) {
prize = '<img src="https://ae01.alicdn.com/kf/HTB1UsP5ahD1gK0jSZFs762ldVXaf.png" width="15">永久视频会员';
} else if (prizeArr[n] === 3) {
prize = '<img src="https://ae01.alicdn.com/kf/HTB1JJ24aeL2gK0jSZPh761hvXXae.png" width="15">永久豪华黄钻';
} else if (prizeArr[n] === 4) {
prize = '<img src="https://ae01.alicdn.com/kf/HTB1Cmv5abj1gK0jSZFu763rHpXaU.png" width="15">永久超级会员';
} else {
var zanNum = Math.floor(Math.random() * 100000);
prize = '<img src="https://ae01.alicdn.com/kf/HTB12gj5akT2gK0jSZPc763KkpXa5.png" width="15">' + zanNum + '名片赞';
}
return prize;
}
});
Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}