js案例双色球

知识储备(温故而知新):
①封装获取节点方法
②while循环,和if相类似,能够满足条件去重,并且返回要求的长度

 var arr = []
while(arr.length < many){
    if (arr.indexOf(sui_num) == -1) {   //sui_num随机数

                arr.push(sui_num)
                // console.log(arr)
            }
}

③点击事件的运用

start.onclick =function(){
        timer = setInterval(function(){
            getBall()
        },100)
        start.disabled = true;
    }

代码详情:
1.Html部分

<body>
    <div id="content">

    </div>
    <button id="start">
        开始
    </button>
    <button id="end">
        结束
    </button>
</body>

2.css部分

<style>
    #content span {
        display: inline-block;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 2px red solid;
        font-size: 30px;
        line-height: 50px;
        text-align: center;
    }

    #content span:last-child {
        display: inline-block;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 2px blue solid;
        font-size: 30px;
        line-height: 50px;
        text-align: center;
    }
</style>

3.js部分

//封装获取元素节点
function getId(can) {
        return document.getElementById(can)
    }
    var content = getId('content');
    var start = getId('start');
    var end = getId('end');
    var timer = null;
//封装随机几位数的号
    function getNum(start_num, end_num, many) {//many几位数

        var arr = [];
        while (arr.length < many) {
            var sui_num = Math.floor(Math.random() * (end_num - start_num + 1) + start_num); //得到一个随机数
            sui_num < 10 ? sui_num = '0' + sui_num : sui_num = sui_num;//小于10加0
            if (arr.indexOf(sui_num) == -1) {//数组去重

                arr.push(sui_num)  //没有重复的数放进去
                // console.log(arr)
            }
            // console.log(sui_num)
        }
        arr.sort(function(a,b){
            return a-b;
        })//数组排序
        return arr  //返回数组
    }
//封装写进页面为定时器准备
    function getBall() {
        str='';

        var redball = getNum(1, 32, 6);  //调用红球
        var blueball = getNum(1, 16, 1);//调用篮球
        var sball = redball.concat(blueball); //拼接新的
        // 遍历数组并写进页面
        for (var i in sball) {  

        //   str= content.innerHTML += `<span> ${sball[i]}</span>` 
        str += `  <span> ${sball[i]}</span> &nbsp&nbsp`;
 
        }       
        content.innerHTML =str;
    }
    getBall() //先调用 ,网页就有
    //点击就调用函数
    start.onclick =function(){
        timer = setInterval(function(){
            getBall()
        },100)
        start.disabled = true;  //开始按钮禁用
    }
    end.onclick=function(){
        clearInterval(timer); //清楚定时器
        timer =null;
        start.disabled = false; //开始按钮恢复

    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 2,882评论 0赞 25
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,998评论 0赞 3
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 5,148评论 0赞 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,845评论 1赞 32
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,717评论 0赞 7

友情链接更多精彩内容