惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
Forbes - Security
Forbes - Security
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
V
Visual Studio Blog
月光博客
月光博客
博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
The Register - Security
The Register - Security
S
SegmentFault 最新的问题
博客园 - 司徒正美
P
Proofpoint News Feed
Know Your Adversary
Know Your Adversary
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
Cyberwarzone
Cyberwarzone
Simon Willison's Weblog
Simon Willison's Weblog
U
Unit 42
P
Proofpoint News Feed
Scott Helme
Scott Helme
MyScale Blog
MyScale Blog
T
Tenable Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
P
Palo Alto Networks Blog
V
V2EX
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tailwind CSS Blog
V
Vulnerabilities – Threatpost
Latest news
Latest news
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
博客园 - 【当耐特】
B
Blog RSS Feed
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
NISL@THU
NISL@THU
C
Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security

博客园 - 小院里的霍大侠

从一键部署热门游戏幻兽帕鲁到探索未来个人元宇宙 教你用JavaScript实现调皮的字母 教你用JavaScript实现乘法游戏 教你用JavaScript实现搜索展开 教你用JavaScript实现进度条 教你用JavaScript实现计数器 教你用JavaScript实现背景图像滑动 教你用JavaScript实现鼠标特效 教你用Java实现动态调色板 教你用JavaScript实现表情评级 教你用JavaScript实现实时字符计数器 教你用CSS实现表单部件 Web入门:JavaScript文字动画 教你用JavaScript实现粘性导航 教你用JavaScript随机生成密码 教你用JavaScript完成轮播图 教你用Python制作BMI计算器 教你用JavaScript实现随机点名 三官庙巷-你记忆中的那条路?!
教你用JavaScript获取大转盘
小院里的霍大侠 · 2022-12-22 · via 博客园 - 小院里的霍大侠

大转盘-竖-封面.jpg

案例介绍

欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!
我们来用JavaScript编程实战案例,做一个大转盘。当你难以抉择的时候不妨用这个案例来帮你做选择。通过编程实战我们可以学到按钮的点击事件onclick()以及定时器的使用.

案例演示

每个选择都展示在不同的盒子里,通过点击中间的开始选择按钮,系统就会在5s内自动为您做出选择。

源码学习

进入核心代码学习,我们先来看HTML中的核心代码。

<!-- 有个小院-兴趣编程 -->
  <div class=big>
        <div class="option">大盘鸡</div>
        <div class="option">麻辣香锅</div>
        <div class="option">酸辣粉</div>
        <div class="option">兰州拉面</div>
        <div id="start">开始选择</div>
        <div class="option">疙瘩汤</div>
        <div class="option">鱼香肉丝</div>
        <div class="option">麻辣烫</div>
        <div class="option">咸菜</div>
    </div>

然后再让我们来看CSS核心代码,CSS代码主要是对盒子的大小等进行布局。

.big{
            width: 600px;
            height: 600px;
            border: 1px solid red;
        }
        .big>div{
            width:33%;
            height: 33%;
            border: 1px solid red;
            float: left;
            line-height: 200px;
            text-align: center;
            font-size: 30px;
            font-weight: bold;
        }
        #start{
            cursor: pointer;
            background-color: rgb(160, 110, 119);
        }

接下来进行核心的JavaScript代码编写,首先根据id和className获取对象。通过onclick设置中间按钮的点击事件,触发一个定时器setInterval()。然后通过random获取0-7的随机数作为索引,并据此将其索引对应的盒子设为选中的目标,设置选中的背景颜色。利用for循环取消之前盒子的选定,设置时间点timer用于停止定时器。

//有个小院-兴趣编程
        let but=document.getElementById("start");
        let options=document.getElementsByClassName("option");
        let timer=null;
        but.onclick=function(){
            let num=0;
            if(timer==null){
            timer=setInterval(()=>{
                num++;
           let ran= Math.round(Math.random()*(7-0)+0);
        for(let i=0;i<options.length;i++){
            options[i].style.backgroundColor='white';
        }
           options[ran].style.backgroundColor='orange';
            if(num>=50){
                clearInterval(timer);
                timer=null;
            }
        },100);
    }          
 }

记得关注我,每天学习一点点

你觉得大转盘还能用在什么地方?

全网可搜:小院里的霍大侠, 免费获取简单易懂的实战编程案例。编程/就业/副业/创业/资源。
私微信:huodaxia_xfeater
二维码: http://www.yougexiaoyuan.com/images/weixin_huodaxia.jpg
公众号:有个小院(微信公众号:yougexiaoyuan)
github:yougexiaoyuan (视频源码免费获取)
(部分素材来源于互联网,如有保护请联系作者)