js实现抽奖效果


Posted in Javascript onMarch 27, 2017

效果图:

js实现抽奖效果

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>随机抽奖</title>
  <style>
    *{margin: 0;padding: 0;}
    body{
       background:darksalmon;
    }
    h1,#ks,#js{
       text-align: center;
     }
    #ks{
       width: 100px;
       height: 70px;
       background: blueviolet;
       border-radius: 10px;
       line-height: 70px;
       margin:3% 0 0 40%;
     }
    #ks:hover{
      width: 100px;
      height: 70px;
      background: tomato;
      border-radius: 10px;
      line-height: 70px;
    }
    #js{
      width: 100px;
      height: 70px;
      background: blueviolet;
      border-radius: 10px;
      line-height: 70px;
      margin:-5% 0 0 50%;
    }
    #js:hover{
      width: 100px;
      height: 70px;
      background: tomato;
      border-radius: 10px;
      line-height: 70px;
    }
    .jp{
      border:3px solid #CD5C5C;
      border-radius:10px;
      width:95px;
      height:23px;
      background:#ff3030;
      padding-top:5px;
      text-align:center;
      color: #ff7ee1;
    }
    #jp{
      width: 100%;
      height: 200px;
      background: orangered;
      position: absolute;
      margin-top: 300px;
    }
    #jp span{
     font-size: 30px;
    }
    #tx{
      font-size: 60px;
      color: #fff;
    }
  </style>
</head>
<body>
   <h1>抽奖了</h1>
   <div id="ks" onclick="ks()">开始抽奖</div><!--如何通过一个按钮实现开始和关闭?-->
   <div id="js" onclick="gb()">停止抽奖</div>
   <div id="jp"><span>恭喜你获得了:</span><span id="tx"></span></div>
<script>
  var arr=["三星","苹果","华为·荣耀","小米","魅族","中兴·努比亚","酷派","vivo(蓝厂)","oppo(绿厂)"];
  //循环添加的数组
  var lieshu=3;//列数
  console.log(arr.length);
  console.log("可以分:"+arr.length/lieshu+"行");
  for(var i=0;i<arr.length/lieshu;i++){//控制行数
    for(var j=0;j<lieshu;j++){//控制列
      if(i*lieshu+j<arr.length){
        console.log("循环最内层:"+i*lieshu+j);
        document.write("<div id=\"jiang"+(i*lieshu+j)+"\" class=\"jp\" style =\"" +
          "position:absolute;left:"+(j*110+500)+"px;" +"top:" +(i*50+200)+"px;\">"+
          arr[i*lieshu+j]+"</div>");
           /*  document.write 网页内写文件
              i*lieshu+j 为个数
           *   (j*110+500) 110 为列边距 500为整个表格;列偏移
           *   (i*40+300)  40 行间距  300为整个表格;列偏移
           *
           * */
       }
    }
  }
  var bs=-1;//用于循环过后变色
  var t;
 function ks(){
   /* 开始变色的方法*/
   if(bs!=-1){
    document.getElementById("jiang"+bs).style.background="#ff3030";
    }
    var shuijisu=Math.floor(Math.random()*arr.length);//生成arr.length个 随机数向下取证
    document.getElementById("jiang"+shuijisu).style.background="#3500cc";

    bs =shuijisu;//shuijisu 代指添加元素的下表
    t =setTimeout("ks()",100);
 }
function gb() {
  clearTimeout(t);
  document.getElementById("tx").innerHTML =document.getElementById("jiang"+bs).innerHTML;
//修改id="tx"类的值

}
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 Javascript
JavaScript转换农历类实现及调用方法
Jan 27 Javascript
JS打开新窗口的2种方式
Apr 18 Javascript
Javascript闭包(Closure)详解
May 05 Javascript
最简单的tab切换实例代码
May 13 Javascript
Javascript实现跑马灯效果的简单实例
May 31 Javascript
jQuery插件WebUploader实现文件上传
Nov 07 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
JS同步、异步、延迟加载的方法
May 05 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
详解Vue的options
May 15 Vue.js
AngularJS前端页面操作之用户修改密码功能示例
Mar 27 #Javascript
基于JavaScript实现移动端无限加载分页
Mar 27 #Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 #Javascript
JS简单实现数组去重的方法示例
Mar 27 #Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 #jQuery
基于JavaScript实现焦点图轮播效果
Mar 27 #Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
Mar 27 #Javascript
You might like
一个php作的文本留言本的例子(二)
2006/10/09 PHP
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
nodejs如何获取时间戳与时间差
2016/08/03 NodeJs
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
python读取并写入mat文件的方法
2019/07/12 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
哪些是python中web开发框架
2020/06/17 Python
外贸业务员的岗位职责
2013/11/23 职场文书
自荐书格式
2013/12/01 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
党员民主评议个人总结
2014/10/20 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
升学宴学生答谢词
2015/01/05 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
Javascript webpack动态import
2022/04/19 Javascript