<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    .box{
        width: 500px;
        height: 60px;
        border:1px solid #ccc;
        text-align: center;
        line-height:60px;
        margin:10px;
        background-color: gray;
        float: left;
    }
    </style>
</head>
<body onload="init()">
    <button onclick="start()">随机点名开始</button>
    <button onclick = "end() ">随机点名结束</button>
    <div id="path"></div>
   
</body>
<script>
    // 实现随机点名系统第一步就需要建立一个数组
    var arr = ['四川大学','我的大学','四川理工大学','四川科技大学','四川轻化工大学','四川理工大学',
    '四川科技大学','四川轻化工大学','四川理工大学','四川科技大学','四川轻化工大学','四川理工大学','四川科技大学','四川轻化工大学'
    ,'四川理工大学','四川科技大学','四川轻化工大学','四川理工大学','四川科技大学','四川轻化工大学','四川理工大学','四川科技大学','四川轻化工大学'
    ,'四川理工大学','四川科技大学','四川轻化工大学','四川理工大学','四川科技大学','四川轻化工大学','四川轻化工大学'];
    // 设置一个索引值
    var index = -1;//这个必须要是-1的,只有这样随机点名的效果才会出现
    // 设置一个顶点事件段,用来停止用
    var time;
    //  遍历数组,能够实现简单的功能
// 当页面初次进行加载的时候
function nowSend() {
                
                if(index != -1) {
                    //将上一个选中的div的背景还原
                    document.getElementById("id" + index).style.backgroundColor = "gray";
                }
                //随机数
                var num = Math.floor(Math.random() * arr.length);
                index = num; //记录被选中的div的id
                //获取对应的div
                var div = document.getElementById("id" + num);
                //设置背景颜色
                div.style.backgroundColor = "red";
            }
 
// 随机点名开始
    function start() {
    //    要想要】跑起来,可以直接在里面设置一个定时器
    time = setInterval('nowSend()',100);
    }
// 随机点名结束
function end() {
    // 可以直接在里面放一个清除定时器的
    clearInterval(time);
    alert('接下来由'+arr[index]+'学生代表上台进行演讲')
}
// 初始化操作
function init() {
                //将数组显示在页面上
                for(var i = 0; i < arr.length; i++) {
                    //获取父容器
                    var fa = document.getElementById("path");
                    //创建小div
                    var div = document.createElement("div");
                    //设置id属性,方便寻找
                    div.id = "id" + i;
                    div.className = "box"; //方便给小div设置样式
                    //设置小div中显示的内容
                    div.innerHTML = arr[i];
                    //将小div放在父容器中
                    fa.appendChild(div);
                }
            }
</script>
</html>

原生js实现简单的随机点名系统的更多相关文章

  1. Java低配版简单的随机点名系统

    import java.util.*; public class Dome{ public static void addSname(String[] students){ Scanner sc = ...

  2. js随机点名系统

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 原生JS封装简单动画效果

    原生JS封装简单动画效果 一致使用各种插件,有时候对原生JS陌生了起来,所以决定封装一个简单动画效果,熟悉JS原生代码 function animate(obj, target,num){ if(ob ...

  4. 原生JS实现简单富文本编辑器2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 原生JS实现简单富文本编辑器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 原生JS实现简单留言板功能

    原生JS实现简单留言板功能,实现技术:css flex,原生JS. 因为主要是为了练手js,所以其中布局上的一些细节并未做处理. <!DOCTYPE html> <html lang ...

  7. 原生js+css实现重力模拟弹跳系统的登录页面

    今天小颖把之前保存的js特效视频看了一遍,跟着视频敲了敲嘻嘻,用原生js实现一个炫酷的登录页面.怎么个炫酷法呢,看看下面的图片大家就知道啦. 效果图: 不过在看代码之前呢,大家先和小颖看看css中的o ...

  8. 原生js实现简单移动端轮播图

    最近项目不是很忙,自己就用原生js写了一个简单的移动端轮播图的小demo,可实现自动轮播和手势滑动轮播,然后就把它记录到个人博客里.还有很多不足的地方,希望多多指出,以便改进. 1.代码部分 分为四个 ...

  9. 原生js实现简单JSONP

    JSONP是一种非常常见的实现跨域请求的方法.其基本思想是利用浏览器中可以跨域请求外链的JS文件,利用这一特性实现数据传输. 用原生JS实现JSONP非常简单,无非几点: 1)定义一个函数,用于处理接 ...

随机推荐

  1. Bzoj2654:tree

    题目 Bzoj Sol 神题! 二分所有的白边减去一个值,这样做\(kruskal\)就会多选一些白边 就这样 二分范围为\([-101, 101]\)!!! # include <bits/s ...

  2. QQ 聊天机器人小薇 2.0.0 发布!

    本次发布主要加入了支持讨论组聊天,并增强了稳定性.另外,官方小薇 QQ 机器人已经下线,大家要体验的话请 自建私服~ 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务, ...

  3. Python语言下图像的操作方法总结

    本章主要讲解 图像的读取方式.灰度化操作.图像转化为矩阵的方法 假设 strImgPath是图像的路径, img对象将图片读入到内存中 读取图像的第一种方式:skImage from skimage ...

  4. webstorm javascript IDE调试

    webstorm是我见过的前端开发调试最好用的IDE工具了,它不仅具有强大的编辑,代码查阅引用功能,更有强大的js调试功能,这是任何通过firebug,chrome devtool,console.l ...

  5. 【NLP_Stanford课堂】文本分类2

    一.实验评估参数 实验数据本身可以分为是否属于某一个类(即correct和not correct),表示本身是否属于某一类别上,这是客观事实:又可以按照我们系统的输出是否属于某一个类(即selecte ...

  6. MQ测试

    2015年8月13日23:14:52 测试RabbitMq ====================== 千兆局域网:send ≍10000/s  receive ≍7000/s 百兆局域网:send ...

  7. Realtek无线网卡对于Ubuntu的WiFi不支持的处理办法

    1.应急办法:查询rfkill list all,可以看到ideapad_laptop的无线被物理关闭,可是博主的笔记本根本没这个键位,所以执行sudo modprobe -r ideapad_lap ...

  8. Python 编码为什么那么蛋疼?

    据说,每个做 Python 开发的都被字符编码的问题搞晕过,最常见的错误就是 UnicodeEncodeError.UnicodeDecodeError,你好像知道怎么解决,遗憾的是,错误又出现在其它 ...

  9. Yii正则验证

    required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...

  10. js中构造函数和普通函数的区别

    this简介: this永远指向当前正在被执行的函数或方法的owner.例如: 1 2 3 4 5 function test(){   console.log(this); } test(); // ...