前端学习之DOM编程案例:点名案例和秒表案例

点名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>点名案例</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
    <div id="container">
    </div>
    <script>
        let div0 = document.querySelector('#container')
        //最外边的大盒子
        div0.style.width = 800 +'px'
        div0.style.height = 900 +'px'
        div0.style.border = '1px dashed red'        
        div0.style.margin = 'auto'
        div0.style.textAlign = 'center'
        //抽奖显示的圆
        let cirle =  document.createElement('div')
        cirle.style.borderRadius = '50%'
        // cirle['borderRadius'] = '50%'
        // cirle['backgroundColor'] = 'red'
        cirle.style.backgroundColor = 'red'
        cirle.style.width = 300 + 'px'
        cirle.style.height = 300 + 'px'
        cirle.style.margin = 'auto'
        cirle.textContent = '点名系统'
        cirle.style.fontSize = '30px'
        cirle.style.color = 'white'
        cirle.style.marginTop = '80px'
        cirle.style.lineHeight = '300px'
        cirle.style.textAlign='center'
        div0.appendChild(cirle)
        //抽奖按钮
        let button1 = document.createElement('button')
        button1.style.width=300+'px'
        button1.style.height=40+'px'
        button1.textContent = '开始点名'
        button1.style.margin='auto'
        button1.style.marginTop = 40+'px'
        let btn_status = '开始点名'
        //奖品
        let arr = ['张三','李四','王五','周末']    
        //抽奖逻辑
        button1.onclick = function(){
            if (btn_status == '开始点名'){
            id = setInterval(start,10)
            }
            else{
                btn_status = '开始点名'
                button1.textContent = btn_status
                clearInterval(id)
            } 
        }
       
        div0.appendChild(button1)
        function start(){
            
                index = Math.ceil(Math.random()*4)
                cirle.textContent = arr[index]
                btn_status = '停止点名'
                button1.textContent = btn_status
            
            
        }
 
    </script>
</body>
</html>

结果

秒表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定时器</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .div0{
            background-color: aqua;
            width: 400px;
            height: 500px;
            border: 1px dashed red;
            margin: auto;
            text-align: center;
        }
        .cirle{
            border-radius: 50%;
            background-color: red;
            width: 300px;
            height: 300px;
            margin: auto;
            display: grid;
            grid-template-columns: repeat(3,1fr);
        }
        button{
            margin-top: 20px;
            width: 100px;
            height: 40px;
            margin: auto;
            margin-top: 40px;
        }
        #time{
            width: 70px;
            height: 70px;
            /* background-color:black; */
            /* float: left; */
            margin: auto;
            /* margin-top: 100px; */
            /* pad
            ding: 10px; */
        }
        #time{
            line-height: 40px;
            font-size: 70px;
        }
    </style>
</head>
<body>
    <!-- 最外边蓝色大边框 -->
    <div class="div0">
        <!-- 红色圆 -->
        <div class="cirle">
            <!-- 秒数 -->
            <div id="time" class="time1">0</div>
            <div id="time" class="time0">:</div>
            <div id="time" class="time2">0</div>
        </div>
        <button class="button1">开始计时</button>
        <button class="button2">停止计时</button>
        <button class="button3">重置</button>
    </div>
    <script>
        let time2= 0
        let div1 = document.querySelector('.cirle')
        let t1 = document.querySelector('.time1')
        let t2 = document.querySelector('.time2')
        time1 = 0
        let button1 = document.querySelector('.button1')
        let button2 = document.querySelector('.button2')
        let button3 = document.querySelector('.button3')
        button1.onclick = function(){
            id = setInterval(time,1000)
        }
        // 停止
        button2.onclick = function(){
            clearInterval(id)
        }
        function time(){
            time1 = time1+1
            t2.textContent = time1
            // 当秒数够一分钟,分针数加1
            if(time1%60==0){
                time2 = time2+1
                t1.textContent = time2
            }
        }
        // 重置
        button3.onclick = function(){
            time1 = 0
            time2 = 0
            t1.textContent = time2
            t2.textContent = time1
            clearInterval(id)
        }
    </script>
</body>
</html>

结果

 


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557111.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软考135-上午题-【软件工程】-软件配置管理

备注&#xff1a; 该部分考题内容在教材中找不到。直接背题目 一、配置数据库 配置数据库可以分为以下三类&#xff1a; (1) 开发库 专供开发人员使用&#xff0c;其中的信息可能做频繁修改&#xff0c;对其控制相当宽松 (2) 受控库 在生存期某一阶段工作结束时发布的阶段产…

vue 实现实时搜索文档关键字并高亮显示

最近接到的一个新需求&#xff1a;实时搜索文档关键字并高亮显示&#xff0c;听起来好难的样子&#xff0c;仔细分析起来其实也蛮简单的。 实现思路 通过 input 实现关键字的输入&#xff0c;监听关键字的变化&#xff0c;用正则表达式来匹配关键字&#xff0c;然后给关键字添…

优思学院|什么叫三现主义?

三现主义是一种深入现场、直接观察和解决问题的管理方法&#xff0c;强调管理者必须亲身体验工作现场&#xff0c;从而更精准地理解和解决问题&#xff0c;提升管理和流程改进的效果。日本的丰田公司有一個日文術語為&#xff1a;Genchi Genbutsu&#xff08;英文&#xff1a;G…

【Web】DASCTF X CBCTF 2022九月挑战赛 题解

目录 dino3d Text Reverser cbshop zzz_again dino3d 进来是一个js小游戏 先随便玩一下&#xff0c;显示要玩够1000000分 直接console改分数会被检测 先是JSFinder扫一下&#xff0c;扫出了check.php 到js里关键词索引搜索check.php 搜索sn&#xff0c;发现传入的参数是…

正确解决:关于Lattic Diamond和Radiant License冲突问题(无法破解问题)

一、问题 今天工作&#xff0c;搞16nm Avant E系列FPGA&#xff0c;需要用到莱迪思的Radiant 2023.2软件&#xff08;按这个博主的安装流程Lattice Radiant 2023.1 软件安装教程&#xff09;。 安装好之后&#xff0c;设置环境变量&#xff0c;导入License.dat就是破解不了&…

pnpm 报错: ERR_PNPM_META_FETCH_FAIL

今天突然遇到一个报错&#xff0c;pnpm 报错&#xff1a; ERR_PNPM_META_FETCH_FAIL  GET https://registry.npm.taobao.org/vue%2Fcli-service: request to https://registry.npm.taobao.org/vue%2Fcli-service failed, reason: certificate has expired问题原因&#xff1a;…

js 遍历数据结构,使不符合条件的全部删除

js 遍历数据结构&#xff0c;使不符合条件的全部删除 let newSourceJSON.parse(JSON.stringify(state.treeData))state.expandedKeys[]checkedKeys.map((item:any)>{loop(newSource,{jsonPath:item.split(&)[1]},state.expandedKeys)})function removeUnwantedNodes(tre…

开关电源拓扑结构(第一部分)

为什么使用开关电源? 开关电源的主要思想可以通过直流到直流变压器的概念解释轻松理解,如图1所示。负载 R L R_L RL​需要从主电压源 V I N V_{IN} VIN​中获得一个恒定电压 V O U T V_{OUT} VOUT​。如图1所示,通过变化串联电阻( R S R_S RS​)或分流电流( I S I_S IS​)可…

[Python开发问题] Selenium ERROR: Unable to find a matching set of capabilities

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

2024年核科学与地球化学国际会议 (ICNSG 2024)

2024年核科学与地球化学国际会议 (ICNSG 2024) 2024 International Conference on Nuclear Science and Geochemistry 【会议简介】 2024年核科学与地球化学国际会议即将在北京召开。本次会议旨在汇聚全球核科学与地球化学领域的专家学者&#xff0c;共同探讨核科学的最新进展…

Golang基础-13

Go语言基础 介绍 并发 channel goroutine 互斥锁 读写锁 原子操作 select 超时处理 sync包 runtime包 介绍 本文介绍Go语言中 channel、goroutine、互斥锁、读写锁、原子操作、select、超时处理、sync包、runtime包等相关知识。 并发 进程是是最小的资源管理单元…

webpack-babel

babel Babel 是一个 JavaScript 编译器&#xff0c;主要用于将高版本的 JavaScript 代码转换为低版本的 JavaScript 代码&#xff0c;从而确保代码在不同浏览器和环境中的兼容性。它可以将 ES6/ES7/ES8 等新特性转换为 ES5 等旧版本的 JavaScript 代码&#xff0c;使得开发人员…

CSS 格式化上下文 + CSS兼容处理

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 ✍CSS 格式化上下文&#x1f525;1 格式化上下文&#x1f337;1.1 块级格式化…

微软(TTS)文本转语音服务API实现

此博客实现与java实现微软文本转语音&#xff08;TTS&#xff09;经验总结_java tts_${简简单单}的博客-CSDN博客之上&#xff0c;首先感谢博客源码的提供&#xff0c;本人在上面添加了一些详细的注释&#xff0c;方便大家跟好的理解和使用&#xff0c;毕竟我已经用原文调试了一…

python入门之简洁安装VS保姆版安装(含虚拟环境)

11、保姆版安装 Anoconda安装&#xff08;python的一个发行版本&#xff09; 优点&#xff1a;集成了许多关于python科学计算的第三方库&#xff0c;保姆级别 下载&#xff1a;www.anaconda.com/download/ 版本默认64位&#xff0c;py37 √&#xff1a;add anaconda to my…

教程 | 亚组分析森林图模块使用介绍

本周风暴统计平台最新更新了亚组森林图板块&#xff01;界面与功能进行了全新升级&#xff0c;今天就通过这篇教程为大家详细介绍&#xff0c;亚组森林图模块各种细节的设置与使用方式&#xff01; 教程将从以下方面开展&#xff1a; 1. 亚组分析使用介绍2. 不同回归分析中亚组…

Java 数据类型

一 Java 的数据类型 二 整数类型 类型占用存储空间范围byte[字节]1字节-127~127short[短整型]2字节-215~215-1 即 -32768~ 32767int[整型]4字节-231~231-1 即 -2147483648~2147483647long[长整型]8字节-263~263-1 字节 byte是计算机存储单位的基本单元&#xff0c;通常由8个比…

Redis: 集群

文章目录 一、单点Redis的问题二、主从架构1、概述2、集群结构3、主从数据同步原理&#xff08;1&#xff09;全量同步&#xff08;2&#xff09;增量同步 4、总结&#xff08;1&#xff09;全量同步和增量同步的区别&#xff08;2&#xff09;什么时候执行全量同步&#xff08…

面试经典150题——跳跃游戏 II

面试经典150题 day10 题目来源我的题解方法一 动态规划方法二 贪心 题目来源 力扣每日一题&#xff1b;题序&#xff1a;45 我的题解 方法一 动态规划 动态规划&#xff0c;当j位置可达i位置时&#xff1a;dp[i]Math.min(dp[i],dp[j]1); 时间复杂度&#xff1a;O( n 2 n^2 n…

SpringBlade dict-biz/list SQL 注入漏洞复现

0x01 产品简介 SpringBlade 是一个由商业级项目升级优化而来的 SpringCloud 分布式微服务架构、SpringBoot 单体式微服务架构并存的综合型项目。 0x02 漏洞概述 SpringBlade 后台框架 /api/blade-system/dict-biz/list 路径存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞…