js 简版双色球 取号
<style type="text/css">
span{
display: block;
float: left;
width: 50px;
height: 50px;
border: 1px solid red;
background-color: #000;
}
div{
width: 520px;
height: 520px;
margin: 0 auto;
overflow: hidden;
border: 1px solid red;
}
</style>
<div></div>
<button>start</button>
<h1></h1>
<script type="text/javascript">
var div=document.getElementsByTagName('div')[0];
var btn=document.getElementsByTagName('button')[0];
var h1=document.getElementsByTagName('h1')[0];
for(var i=1;i<34;i++){
var span=document.createElement('span');
span.innerHTML=i;
div.appendChild(span);
};
var spans=div.getElementsByTagName('span');
function white(obj){
obj.style.backgroundColor="#fff";
};
function sortNumber(a,b){
return a-b;
};
function checkRepeat(num,arr){
for(var i=0,j=arr.length;i<j;i++){
if (num==arr[i]) {
return false;
};
};
return true;
};
btn.onclick=function(){
// 初始化
h1.innerHTML="";
for(var i=0,j=spans.length;i<j;i++){
spans[i].style.backgroundColor="#000";
}
// 循环的到6个数
var poor=[];
for(var i=0,j=6;i<j;i++){
var num=Math.floor(spans.length*Math.random());
if (checkRepeat(num,poor)) {
poor.push(num);
}else{
j++;
};
};
// 排序
var poorSort=poor.sort(sortNumber);
// 另一种高效排序
function quicksort(arr){
if (arr.length == 0)
return [];
var left = new Array();
var right = new Array();
var pivot = arr[0];
for (var i = 1; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return left.concat(pivot, right);
// return quicksort(left).concat(pivot, quicksort(right));
}
// var poorSort=quicksort(poor);
// 显示数据
for(var i=0,j=poorSort.length;i<j;i++){
white(spans[poorSort[i]]);
h1.innerHTML=h1.innerHTML+parseInt(poorSort[i]+1);
if (i<j-1) {
h1.innerHTML=h1.innerHTML+",";
};
};
}
</script>
js 简版双色球 取号的更多相关文章
- js简版定时器
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 自定义滚动条Js简版
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>自定义滚 ...
- js消除小游戏(极简版)
js小游戏极简版 (1) 基础布局 <div class = "box"> <p></p> <div class="div&qu ...
- Underscore源码阅读极简版入门
看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: https://github.com/hanzichi/underscore-an ...
- FFmpeg简易播放器的实现-最简版
本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10040202.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- 基于JQ的简版选项卡记录
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- typescript 简版跳一跳
typescript 简版跳一跳 学习typescript,第一步应该是学习官方文档,理解最基础的语法.第二步开始用typescript实现一些js+css 或者canvas类型的游行.现在开始我们用 ...
- SpringBoot2+Netty打造通俗简版RPC通信框架(升级版)
背景 上篇文章我简单的介绍了自己打造的通俗简版RPC通信框架,这篇是对简版的增强~ 如果大家对此项目还感兴趣的话,可到码云上瞄瞄:Netty-RPC 上 ...
- 腾讯云短信SDK-精简版
/** * 腾讯云短信SDK-精简版 * 本模块使用-向腾讯云短信服务器发送请求 * @return json 腾讯服务器返回值-json字符串 */ private function send_sm ...
随机推荐
- ASP.NET常见异常处理示例
将指定的年月日转初始化为DateTime新的实例(Nop.Admin.Controllers.OrderController.ParseProductAttributes) case Attribut ...
- [No000017F]如何监控注册表的修改
今天我们将向您展示如何使用我们最喜欢的工具之一Proc Mon,在您更改PC上的组策略设置时查看编辑的注册表项. 使用Proc Mon查看组策略对象修改的注册表设置 您要做的第一件事就是从Sys In ...
- Gradle依赖无法下载问题
之前一直在使用maven构建框架,对gradle还比较陌生.最近碰到依赖一直无法下载的问题.我采用了以下步骤进行排查: 1. 查看gradle本地仓库是否有依赖(肯定没有) 2. 查看私服是否有依赖( ...
- Java加载dll或so库文件的路径 java.library.path
1. Java的System.load 和 System.loadLibrary都可以用来加载库文件 2.例如你可以这样载入一个windows平台下JNI库文件: System.load(&q ...
- JDK 1.8源码阅读 LinkList
一,前言 LinkedList是一个实现了List接口和Deque接口的双端链表.有关索引的操作可能从链表头开始遍历到链表尾部,也可能从尾部遍历到链表头部,这取决于看索引更靠近哪一端. LinkedL ...
- cherry-pick时的add by us / both modified / delete by us /delete by themk
简单来说: us=into , them=from 比如你将test分支的某个提交cherry-pick到master分支上,那么us就是master分支,them 就是test分支 参考: http ...
- 从Win32程序中的主函数中获取命令行参数
在标准C或者Win32控制台程序的main函数中,它们都有两个参数:"argc" 和 "argv",如下所示: int main(int argc, char ...
- 数据库SQL的多表查询
数据库 SQL 的多表查询:eg: table1: employees, table2: departments,table3: salary_grades; 一:内连接: 1):等值连接: 把表em ...
- 彻底解决(Microsoft Visual C++ 14.0 is required)的步骤123
之前要用协程gevent,安装pip install gevent包时遇到Microsoft Visual C++ 14.0 is required的报错提示,各种下载没有解决很头疼, 前两天安装sc ...
- 怎样才能提交一个让开发人员拍手叫好的bug单
怎样才能提交一个让开发人员拍手叫好的bug单 软件测试人员写得最多的文档就是测试用例和BUG,现在测试用例和BUG都没有标准的模板,每个公司使用的缺陷管理工具都有可能不一样,如果你换了一家公司就有可能 ...