web前端练习三

一.随机点名程序

1.点击点名按钮,名字界面随机显示,按钮文字由点名变为停止
2.再次点击点名按钮,显示当前被点名学生姓名,按钮文字由停止变为点名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>随机点名</title>
    <style>
        .container{
            width: 800px;
            height: 540px;
            border: 1px solid black;
            text-align: center;
            position: absolute;
            left: 50%;
            margin-left: -400px;
            line-height: 100px;
            background-color: bisque;
        }
        .box,.box2{
            width: 400px;
            height: 400px;
            background-color: rgb(176, 243, 204);
            border-radius: 50%;
            margin: auto;
            margin-top: 50px;
            line-height: 400px;
        }
        .box2{
            background-color: rgb(124, 172, 218);
        }
        #start{
            width: 100px;
            height: 40px;
            background-color: pink;
            color: black;
        }
        #show{
            font-size: 40px;
            font-weight: bold;
        }
    </style>
</head>
<body>
     <div class="container">
        <div class="box" id="box">
            <span id="show">崩铁2021班</span>
        </div>
        <button id="start" onclick="A()">开始</button>
     </div>
</body>
</html>
<script>
    var flag = false

    var awards = ["镜流","卡夫卡","希儿","布洛妮娅","黑天鹅","霍霍","克拉拉","真理医生","白露","砂金","瓦瓦卡夏","知更鸟"]

    var box = document.getElementById("box")
    var show = document.getElementById("show")
    var start = document.getElementById("start")

    var timer

    function A(){
        if(!flag){
            flag = true
            start.innerHTML="停止"
            timer = setInterval(function(){
                let index = Math.floor(Math.random()*awards.length)    
                show.innerHTML = awards[index]
                box.setAttribute("class","box2") 
            },10)
        }else{
            flag = false
            start.innerHTML="点名"
            clearInterval(timer)
            box.setAttribute("class","box")
        }
    }
</script>

二.秒表计时器

1.界面为一个显示计时面板和三个按钮分别为:开始,暂停,重置
2.点击开始,面板开始计时
3.点击暂停,面板停止
4.点击重置,计时面板重新为0提示:采用定时器及定义计数器变量完成,定时器间隔为1s

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>秒表计时器</title>
    <style>
        body {  
            display: flex;  
            justify-content: center;  
            align-items: center;  
            height: 100vh;  
            background-color: #f5f5f5;  
            font-family: Arial, sans-serif;  
        }  
  
        .timer-panel {  
            text-align: center;  
        }  
  
        button {  
            margin: 10px;  
            padding: 10px 20px;  
            font-size: 16px;  
        }
    </style>
</head>
<body>  
    <div class="timer-panel">  
        <h1 id="timer">00:00</h1>  
        <button id="startBtn">开始</button>  
        <button id="pauseBtn">暂停</button>  
        <button id="resetBtn">重置</button>  
    </div>  
</body>  
</html>
<script>
    let timerId = null; // 用于存储定时器的ID  
    let counter = 0; // 计数器变量  
    let isRunning = false; // 计时器是否正在运行  
  
    const timerElement = document.getElementById('timer');  
    const startBtn = document.getElementById('startBtn');  
    const pauseBtn = document.getElementById('pauseBtn');  
    const resetBtn = document.getElementById('resetBtn');  
  
    function updateTimerDisplay() {  
        const minutes = Math.floor(counter / 60);  
        const seconds = counter % 60;  
        timerElement.textContent = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;  
    }  
  
    function startTimer() {  
        if (!isRunning) {  
            isRunning = true;  
            timerId = setInterval(() => {  
                counter++;  
                updateTimerDisplay();  
            }, 1000);  
        }  
    }  
  
    function pauseTimer() {  
        if (isRunning) {  
            isRunning = false;  
            clearInterval(timerId);  
        }  
    }  
  
    function resetTimer() {  
        counter = 0;  
        updateTimerDisplay();  
        if (isRunning) {  
            pauseTimer();  
        }  
    }  
  
    startBtn.addEventListener('click', startTimer);  
    pauseBtn.addEventListener('click', pauseTimer);  
    resetBtn.addEventListener('click', resetTimer);
</script>

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

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

相关文章

sprinboot+人大金仓配置

1. .yml 配置 spring:datasource:type: com.alibaba.druid.pool.DruidDataSource#driverClassName: dm.jdbc.driver.DmDriver## todo 人大金仓driverClassName: com.kingbase8.Driverdruid:## todo 人大金仓master:url: jdbc:kingbase8://111.111.111.111:54321/dbname?cu…

helpdesk桌面运维常见问题解决

helpdesk是一套帮助IT团队管理IT工单生命周期、自动化日常工作、优化工作流程的软件或软件集合&#xff0c;它可以帮助IT团队提高生产力、降低成本、改善服务水平和客户体验。 在现代企业中&#xff0c;helpdesk桌面运维是一项至关重要的工作&#xff0c;helpdesk团队负责处理员…

虚拟信用卡是什么,可以用来开亚马逊店铺吗?

虚拟信用卡是什么&#xff1f; 虚拟信用卡就是一组由银行随机生成的数字的虚拟卡&#xff0c;使用起来方便快捷&#xff0c;对于个人而言保守自己的隐私&#xff0c;并且下卡快&#xff0c;即开即用 可以用来开亚马逊店铺吗&#xff1f; 可以&#xff0c;因为市场的需求很多…

面试官:在原生input上面使用v-model和组件上面使用有什么区别?

前言 还是上一篇面试官&#xff1a;来说说vue3是怎么处理内置的v-for、v-model等指令&#xff1f; 文章的那个粉丝&#xff0c;面试官接着问了他另外一个v-model的问题。 面试官&#xff1a;vue3的v-model都用过吧&#xff0c;来讲讲。 粉丝&#xff1a;v-model其实就是一个语…

储能展-CBTC-2024上海储能技术展会共话储能高质量发展

2024-CBTC上海国际储能技术展会 展会时间&#xff1a;7月24-26日 展会地址&#xff1a;上海&#xff08;虹桥&#xff09;国家会展中心 主办单位&#xff1a;湖南省电池产业协会/ 中国设备管理协会 /沪粤储能产业联盟/ 深圳国际投融资商会 国际氢能投融资与发展联…

Qt Debug模式下应用程序输出界面乱码【已解决】

Qt Debug模式下应用程序输出乱码 一、问题描述二、解决方法三、相关测试 一、问题描述 源码为utf-8编码. Qt Creator在Debug模式下运行程序&#xff0c;下方应用程序输出界面显示乱码. 但正常运行无乱码&#xff1a; 二、解决方法 尝试修改文件编码、执行编码无果… 可参考…

Python从0到100(十四):高级函数及函数使用进阶

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

Day11-Java进阶-HashSet集合LinkedHashSet-Collection工具类Map集合

1. HashSet集合 HashSet-JDK8版本及以后-面试常问 2. LinkedHashSet-Collection工具类 2.1 LinkedHashSet 2.2 Collection工具类 3. Map集合 3.1 Map接口介绍 3.2 Map 集合的遍历方式 3.2.1 三种方式介绍 package com.itheima.map;import java.util.HashMap; import java.ut…

【C++类和对象】日期类的实现

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

【MATLAB源码-第64期】matlab基于DWA算法的机器人局部路径规划包含动态障碍物和静态障碍物。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 动态窗口法&#xff08;Dynamic Window Approach&#xff0c;DWA&#xff09;是一种局部路径规划算法&#xff0c;常用于移动机器人的导航和避障。这种方法能够考虑机器人的动态约束&#xff0c;帮助机器人在复杂环境中安全、…

PCB上有哪些元素

过孔&#xff1a;是用来切换层的 丝印&#xff1a;就是标记&#xff08;白色的线或者符号&#xff09; 焊盘&#xff1a;焊接元器件&#xff0c;相当于线头&#xff0c;连接各个元件 通孔埋孔盲孔&#xff0c;都是用来换层&#xff0c;内部没有桐&#xff0c;是用来固定的 线路…

C++:基础语法

一、命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xff0c; 以避免命名冲突或名字污染&#xff0c;n…

uniapp微信小程序(商城项目)

最近&#xff0c;闲来无事&#xff0c;打算学一下uniapp小程序 于是在跟着某站上学着做了一个小程序&#xff0c;主要是为了学uniapp和vue。某站黑马优购 完成的功能主要有&#xff1a;首页、搜索、分类和购物车。 有人问了为什么没有登录、和添加订单呢&#xff1f;问的很好…

2.4 Web容器配置:Tomcat

2.4 Web容器配置 2.4.1Tomcat配置1.常规配置2. HTTPS配置 *********** 2.4.1Tomcat配置 1.常规配置 在SpringBoot项目中&#xff0c;可以内置Tomcat、Jetly、Undertow、Netty等容器。 当开发者添加了spring-boot-starter-web依赖之后&#xff0c;默认会使用Tomcat作为Web容器…

【Linux学习】初始冯诺漫体系结构

文章目录 认识冯诺依曼系统 认识冯诺依曼系统 什么是冯诺依曼体系结构&#xff1f; 冯诺依曼体系结构是一种将程序指令和数据以二进制形式存放在主存储器中&#xff0c;由中央处理器统一控制和执行的计算机系统结构。冯诺依曼体系结构实现了程序的可编程性和硬件与软件的分离&…

【C语言】每日一题,快速提升(10)!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 题目&#xff1a;圣诞树 输入&#xff1a; 1输出&#xff1a; * * * * * **说明&#xff1a; 输入&#xff1a; 2输出&#xff1a; * * * * * * * …

【C++】一篇文章带你深入了解list

目录 一、list的介绍二、 标准库中的list类2.1 list的常见接口说明2.1.1 list对象的常见构造2.1.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/list/list/list/)2.1.1.2 [有参构造函数(构造并初始化n个val)](https://legacy.cplusplus.com/reference/list/list/…

idea配置推荐插件详细讲解

配置插件是为了在开发过程中提高效率、改善开发体验而安装的。在IntelliJ IDEA中&#xff0c;你可以按照以下步骤配置插件&#xff1a; 打开插件配置页面&#xff1a; ● 在顶部菜单栏中选择 “File” -> “Settings”&#xff08;或者使用快捷键 Ctrl Alt S&#xff09;…

相亲平台app小程序

相亲平台app小程序是一种基于手机应用的微型程序&#xff0c;专为在线相亲交友活动设计。它提供了一系列的功能&#xff0c;旨在帮助用户更方便、更高效地找到心仪的伴侣。 首先&#xff0c;用户可以在个人资料部分上传照片、填写个人资料、设置兴趣爱好等信息&#xff0c;以便…

【行为型模型】迭代器模式

一、迭代器模式概述 迭代器模式定义&#xff1a;提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而又不暴露其内部的表示。把游走的任务放在送代器上&#xff0c;而不是聚合上。这样简化了聚含的接口和实现,也让责任各得其所。(对象行为型) 迭代器模式的优缺点&…
最新文章