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 相关文章推荐
jQuery 学习第七课 扩展jQuery的功能 插件开发
May 17 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
Jun 09 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 Javascript
bootstrap vue.js实现tab效果
Feb 07 Javascript
JavaScript面向对象精要(下部)
Sep 12 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
JavaScript Canvas实现验证码
Aug 02 Javascript
vue自定v-model实现表单数据双向绑定问题
Sep 03 Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
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 带逗号千位符数字的处理方法
2012/01/10 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
javascript 数组排序函数
2009/08/20 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
JavaScript门道之标准库
2018/05/26 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
js实现简单点赞操作
2020/03/17 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
保安员岗位职责
2013/11/17 职场文书
国窖1573广告词
2014/03/21 职场文书
反腐倡廉标语
2014/06/24 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
投诉书格式范本
2015/07/02 职场文书
初中运动会前导词
2015/07/20 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书