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 获取json数据实现代码
Apr 27 Javascript
jquery eval解析JSON中的注意点介绍
Aug 23 Javascript
实例分析js和C#中使用正则表达式匹配a标签
Nov 26 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
JQuery实现动态适时改变字体颜色的方法
Mar 10 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
Jan 04 Javascript
javascript中BOM基础知识总结
Feb 14 Javascript
JavaScript之underscore_动力节点Java学院整理
Jul 03 Javascript
JavaScript实现求最大公共子串的方法
Feb 03 Javascript
vue 设置路由的登录权限的方法
Jul 03 Javascript
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
vue 导出文件,携带请求头token操作
Sep 10 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+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
微信小程序的动画效果详解
2017/01/18 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
Python读大数据txt
2016/03/28 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
基于树莓派的语音对话机器人
2019/06/17 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
Python线程threading模块用法详解
2020/02/26 Python
python生成大写32位uuid代码
2020/03/03 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
计算机专业推荐信范文
2013/11/27 职场文书
美德好少年事迹材料
2014/01/19 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
法制宣传月活动方案
2014/05/11 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
Python面向对象之内置函数相关知识总结
2021/06/24 Python
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
java实现web实时消息推送的七种方案
2022/07/23 Java/Android