通过CSS,H5,JavaScript实现表格表单的随机选择,和简单的随机点名。

news2025/7/12 7:51:41

目录

一、表格表单的随机选择

效果展示(表单内容可以根据自己需要进行修改)

1.H5的布局

第一步:

第二步:

2.CSS布局

3.JS的布局

第一步:

第二步:

第三步:

二、简单的随机点名

效果展示(可以自己修改内容)

1.H5布局

2.CSS布局

3.JS布局

第一步:

第二步:

三、可以自己暂停的随机点名


一、表格表单的随机选择

效果展示(表单内容可以根据自己需要进行修改)

1.H5的布局

第一步:

可以给整个表格内容设置一个内边距,里面的文字可以自己添加,这里用了英文乱码,没有任何的其他意义,只是一个展示效果。

可以给整个表格内容设置一个内边距,里面的文字可以自己添加,这里用了英文乱码,没有任何的其他意义,只是一个展示效果。

可以给整个表格内容设置一个内边距,里面的文字可以自己添加,这里用了英文乱码,没有任何的其他意义,只是一个展示效果。


    <div>
        <table cellpadding="10px">
            <tr>
                <td>Lorem.</td>
                <td>Ipsa.</td>
                <td>Minus.</td>
                <td>Veritatis.</td>
                <td>Doloribus.</td>
            </tr>
            <tr>
                <td>Sunt.</td>
                <td>Corrupti?</td>
                <td>In.</td>
                <td>Voluptatibus?</td>
                <td>A?</td>
            </tr>
            <tr>
                <td>Dolorem?</td>
                <td>Totam!</td>
                <td>Voluptas.</td>
                <td>Provident?</td>
                <td>Atque.</td>
            </tr>
            <tr>
                <td>Molestias!</td>
                <td>Ad.</td>
                <td>Optio!</td>
                <td>Nisi.</td>
                <td>Deleniti.</td>
            </tr>
        </table>
    </div>

第二步:

定义两个按钮,在js中设置点击事件,来完成所有的操作

    <button class="start">开始</button>
    <button class="end">结束</button>

2.CSS布局

需要给整个表格之间的外边距去除, border-collapse: collapse;使用这个,hover是为了后续实现排他思想,所进行的布局,可用用div大盒子来将表格居中,更有观赏性。

<style>
    table {
        width: 500px;
        box-sizing: border-box;
        border: 1px solid #ccc;
        text-align: center;
        border-collapse: collapse;
    }
    td {
        width: 100px;
        box-sizing: border-box;
        border: 1px solid #ccc;
    }
    .hover {
        background-color: rgba(0, 0, 0, 0.5);
    }
    div {
        width: 500px;
        margin: 50px auto;
        text-align: center;
    }
</style>

3.JS的布局

第一步:

先获取所需要的所有元素

    var tdlist = document.querySelectorAll("td");
    var btns = document.querySelector(".start");
    var btne = document.querySelector(".end");
    var table = document.querySelector("table");
    var setTime //提前定义点击事件的名称 

第二步:

设置点击事件,在设置开始的点击事件中,我们需要提前设置一个,清楚定时器效果,以注释,意义是,连续点击,不会出现bug,内次点击都是先清除上一次的点击事件,如果没有,就会出现叠加效果,整个代码就会瘫痪,无法使用,其中封装了函数,为了更方便展示排他思想的代码。


    btns.addEventListener('click', function () {
            clearInterval(setTime)//提前清除
            setTime = setInterval(change,200);
        }

    )
    btne.addEventListener('click', function () {
        clearInterval(setTime)
    })

第三步:

排他思想控制背景,需要先使用取整的方式,来得到0到19,然后通过for循环,来将所有的内容为空,然后再通过点击来结束选择,实现一个方框有背景色。

   function change() {
            var num = Math.floor(Math.random() * 20);
                // 将所有td背景颜色初始化
                for (var i = 0; i < tdlist.length; i++) {
                    tdlist[i].className = "";
                }
                tdlist[num].className = "hover";
            }

二、简单的随机点名

效果展示(可以自己修改内容)

1.H5布局

简单两个div,设置一个按钮

   <div class="a">???</div>
   <div class="b"><button>开始</button></div> 

2.CSS布局

设置一下大小,居中

  <style>
        .a{
            width: 200px;
            font-size: 50px;
            margin: auto;
            text-align: center;
        }
        .b{
            text-align: center;
        }
  </style>

3.JS布局

第一步:

获取元素

    var btn = document.querySelector('button');
    var div = document.querySelector('div');
    var username = ['张三','李四','旺旺','王五','王二'] //可以随意添加内容
    var flag = true; //设置取反
    var a; //下面的全局变量

第二步:

给按钮设置点击事件,然后进行取反,来进行定时器的随机事件,和清楚定时器。

    btn.addEventListener('click',function(){
        flag = !flag;
        if(flag==false){
     a = setInterval(function(){
            var iusername = Math.floor(Math.random()*username.length)
            div.innerHTML = username[iusername];
            btn.innerHTML = '暂停'; //给按钮从新赋值
        },50)}
        else{
            clearInterval(a);
            btn.innerHTML = '开始'; //给按钮从新赋值
        }
    })

三、可以自己暂停的随机点名

布局和上面一样,js部分有一点点变化


    btn.addEventListener('click',function(){
     a = setInterval(function(){
            var iusername = Math.floor(Math.random()*username.length)
            div.innerHTML = username[iusername];
        },50)
        setTimeout(function(){
                clearInterval(a);
            },2000)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试简历项目经验怎么写,没有项目经验?

怎么办&#xff1f;只能接受低薪工作吗&#xff1f;No No No。本文就教大家如何解决这个问题。 为了帮助大家彻底解决“没有项目”这个拦路虎&#xff0c;接下来文章将从以下几个方面进行展开&#xff1a; 1、应该去哪找项目&#xff1f; 2、在众多的项目中&#xff0c;该怎么…

【AI作画】使用stable-diffusion-webui搭建AI作画平台

一、安装配置Anaconda 进入官网下载安装包https://www.anaconda.com/并安装&#xff0c;然后将Anaconda配置到环境变量中。 打开命令行&#xff0c;依次通过如下命令创建Python运行虚拟环境。 conda env create novelai python3.10.6E:\workspace\02_Python\novalai>conda…

基于FPGA 的TDC设计更好的选择——易灵思Quantum架构FPGA

时间数据转换器(TDC)常被用于测量时间间隔&#xff0c;被广泛应用于飞行时间测量领域。分辨率是一个重要的参数&#xff0c;但TDC线性度将直接影响整个系统的精度。尤其是近年来迅猛增长的汽车自动驾驶&#xff08;ADAS&#xff09;领域&#xff0c;利用光测距的激光雷达&#…

GCN-图卷积神经网络算法简单实现(含python代码)

本文是就实现GCN算法模型进行的代码介绍&#xff0c;上一篇文章是GCN算法的原理和模型介绍。 代码中用到的Cora数据集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1SbqIOtysKqHKZ7C50DM_eA 提取码&#xff1a;pfny 文章目录 目的 一、数据集介绍 二、实现过程讲…

[闪存 2.1] 闪存芯片物理结构与_SLC/MLC/TLC/QLC

固态硬盘(Solid State Drives),简称SSD。它是一种电脑存储设备,由闪存(FLASH)、 闪存控制器、高速缓存(DRAM)组成。这是是固态硬盘的三个基本部件,对性能有关键影响。 闪存芯片简介闪存颗粒是固态

MySQL数据库的基础语法总结(1)

MySql一.数据库,数据表的基本操作1.数据库的基本操作2. 数据表的基本操作2.1 数据库的数据类型2.1.1 整数类型2.1.2 浮点数类型和定点数类型2.1.3 字符串类型2.1.4 日期与时间类型2.2 数据表的基本操作2.2.1 创建一个数据表2.2.2 查看数据表2.2.3 查看表的基本信息的MySQL指令2…

设计模式(上)

目录 1.设计模式概述 1.什么是设计模式 2.学习设计模式的意义 3.23种设计模式 4.七大设计原则 2.创建者模式 1.单例模式 2.工厂模式 3.抽象工厂模式 4.建造者模式 5.原型模式 3.结构型模式 1.适配器模式 2.桥接模式 3.代理模式 4.组合模式 5.装饰模式 6.享元…

[架构之路-24]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 程序控制、函数调用栈、函数调用性能优化

目录 前言&#xff1a; 第1章 结构化程序与分层编程系统 1.1 计算机软硬件模型 1.2 程序的经典框架&#xff1a;算法数据结构 1.3 程序的结构化框架 1.4 程序的层次模型 1.5 程序设计的层次模型 第2章 C语言概述 2.1 C语言本质 2.2 C语言关键字 2.3 C语言在编程语言的…

js算法 字母大小写转换

题目&#xff1a;输入字符串将大写转换成小写&#xff0c;小写转换成大写&#xff1f; js字母大小写转换方法&#xff1a; 1、转换成大写&#xff1a;toUpperCase() 2、转换成小写&#xff1a;toLowerCase()方法一&#xff1a;把输入的字符串转成数组用split&#xff08;&…

chatgpt 无法登录报错Access denied、OpenAl‘s services are not available in yourcountry. (error=unsupported )

一、主要解决有账号无法登录问题&#xff0c;共包含两种情况。 1、Oops! OpenAls services are not available in yourcountry.(errorunsupported country) 2、Access denied You do not have access to chat.openai.com. The site owner may have set restrictions that p…

Linux命令之nano命令

一、nano命令简介 nano是一个小型、免费、友好的编辑器&#xff0c;旨在取代非免费Pine包中的默认编辑器Pico。nano不仅复制了Pico的外观&#xff0c;还实现了Pico中一些缺失&#xff08;或默认禁用&#xff09;的功能&#xff0c;例如“搜索和替换”和“转到行号和列号”。nan…

Element Plus的el-tree-select组件,懒加载 + 数据回显

目录一、背景说明二、使用1. dom2.methods三、回显一、背景说明 技术&#xff1a;Vue3 Element Plus需求&#xff1a;在选择组织机构时以树结构下拉展示。用到组件&#xff1a;TreeSelect 树形选择组件&#xff08;el-tree-select&#xff09; 官网文档地址&#xff1a; ht…

Vue如何启动项目

文章目录 文章目录 前言 一、首先了解vue-cli脚手架 二、安装脚手架 三、启动项目 总结 前言 废话就不多说了&#xff0c;直接进入正题 一、首先了解vue-cli脚手架 vue-cli 是一个基于 Vue.js 进行快速开发的完整系统 vue-cli是 基于 webpack 构建 vue 前端模块工程环境webpa…

Vue.js介绍

目录 一、 Vue.js是什么 二、 Vue.js优点 三、 前提条件 四、 安装Vue 1. 直接用 script 标签 引入 2. 命令行工具 (CLI) 3. 其他方法或细节应用 五、声明式渲染 六、 理解什么是MVVM MVVM模式的组成部分 MVVM优点 一、 Vue.js是什么 Vue.js (vue读音 /vjuː/&am…

【CSS扩展】VUE如何使用或修改element plus中自带的CSS全局变量来定义样式

目录 一、CSS声明全局变量 二、使用el plus 和 el ui的自带样式 1、element plus—— var.scss位置 2、element ui—— var.scss位置 三、修改el plus 和 el ui中的自定义样式变量&#xff08;方法一致&#xff09; 本萌新最近在写网页时使用到了element plus中自带的CSS全…

Vue中如何解决跨域问题

跨域 跨域报错是前端开发中非常经典的一个错误&#xff0c;报错如下 Access to XMLHttpRequest at ...... from origin ...... has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. 跨域错误源自于浏览器的同源…

《中秋佳节倍思亲》——2022年这场中秋

中秋佳夜&#xff0c;圆的是月&#xff0c;满的是情&#xff0c;但一人终究扛下离愁 作为一个杭漂者&#xff0c;虽不及北漂般艰难困苦&#xff0c;但也举步维艰啊&#xff01; 或许&#xff0c;这对我而言&#xff0c;正是一个别样的中秋&#xff0c;也正是一个值得我一生纪念…

多端统一开发解决方案---Taro

Taro 一套代码&#xff0c;多端运行&#xff0c;释放双手的摸鱼神器 文章目录Taro 一套代码&#xff0c;多端运行&#xff0c;释放双手的摸鱼神器1. 简介2. 准备工作2.1 安装及使用2.1.1 开发者工具2.1.2 tarojs2.1安装tarojs工具3. Taro 使用4.限制5.路由跳转汇总6.注意事项7.…

vue3:安装配置sass

目录 前言&#xff1a; 1. 安装sass 2. 新建style目录&#xff0c;存放scss文件 3. main.ts 4. vite.config.ts 5. Test.vue 前言&#xff1a; 对于前端开发人员来说&#xff0c;css预处理的语言已经是家常便饭了&#xff0c;如sass&#xff0c;less等等&#xff0c;那么…

深度学习实战 1 YOLOv5结合BiFPN

目录 1. BiFPN论文简介 2. 在Common.py中添加定义模块(Concat) 3. 将类名加入进去&#xff0c;修改yolo.py 4. 修改train.py 5. 修改配置文件yolov5.yaml 1. BiFPN论文简介 论文《EfficientDet: Scalable and Efficient Object Detection》地址&#xff1a;https://arxiv…