<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.wrap {
width: 500px;
height: 400px;
background-color: #f00;
margin: 30px auto;
box-sizing: border-box;
padding: 30px;
}
.main {
width: 200px;
height: 200px;
background-color: #0f0;
margin: 0 auto;
text-align: center;
font-size: 40px;
line-height: 200px;
}
.btn {
width: 100px;
height: 100px;
background-color: #00f;
margin-left: 180px;
text-align: center;
line-height: 100px;
font-size: 20px;
}
</style>
</head>
<script src='../js/tool.js'></script>
<body>
<div class='wrap'>
<div class='main'>随机点名器</div>
<div class='btn' οnclick='select(this)'>开始</div>
</div>
<script>
var wrap = document.querySelector('.wrap');
var main = document.querySelector('.main');
var btn = document.querySelector('.btn');
var nameArr = ['张三', '李四', '王五', '赵六'];
var mytime = null;//设置一个空值变量
//通过点击按钮的切换来控制定时器的结束和开始
//点击开始按钮,定时器启动,开始按钮切换成停止按钮
function select(btn) {
if (mytime == null) {
btn.innerHTML = '停止';
//把
mytime = setInterval("show()", 300);
} else {
//点击停止按钮,使定时器结束,结束按钮切换成开始按钮
//点击停止按钮时,清除定时器,
btn.innerHTML = '开始';
clearInterval(mytime);
mytime = null;
}
//
}
//随机出名字
function show() {
var getIndex = getRandNum(0, nameArr.length - 1)//调用tool.js里面的随机数
main.innerHTML = nameArr[getIndex];
}
</script>
</body>
</html>
tool.js里面的代码
//封装随机数
function getRandNum(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
//封装随机颜色
function getRandColor() {
var color1 = getRandNum(0, 255);
var color2 = getRandNum(0, 255);
var color3 = getRandNum(0, 255);
return "rgb(" + color1 + "," + color2 + "," + color3 + ")"
}
//阻止冒泡事件
function pBubble() {
if (event && event.stopPropagation) {
event.stopPropagation()//非ie
} else {
event.cancelBubble = true//ie系列 ie678
}
}
/* 添加事件
obj - 某个对象
EType - 某个事件
fun - 触发的函数*/
function addEvent(obj, EType, fun) {
if (obj.addEventListener) {
obj.addEventListener(EType, fun)
} else if (obj.attachEvent) {
obj.attachEvent('on' + EType, fun)
} else {
//onclick
obj['on' + EType] = fun
}
}
/* 移除事件 */
function removeEvent(obj, EType, fun) {
if (obj.removeEventListener) {
obj.removeEventListener(EType, fun)
} else if (obj.detachEvent) {
obj.detachEvent('on' + EType, fun)
} else {
//onclick
obj['on' + EType] = false;
// obj['on'+EType]=null;
}
}
tool.js
/* 禁止默认事件 */
function pDefaultfun(event){
if(event.preventDefault){
event.preventDefault()
}else{
event.returnValue=false;
}
}
本文地址:https://blog.csdn.net/blue__k/article/details/107346632
如对本文有疑问, 点击进行留言回复!!
vue源码实战render.js与$nextTick的异步调用
网友评论