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 相关文章推荐
js可突破windows弹退效果代码
Aug 09 Javascript
JavaScript面向对象(极简主义法minimalist approach)
Jul 17 Javascript
javascript检查表单数据是否改变的方法
Jul 30 Javascript
JavaScript对象学习经验整理
Oct 12 Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 Javascript
Bootstrap组件(一)之菜单
May 11 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
node.js-v6新版安装具体步骤(分享)
Sep 06 Javascript
VuePress 快速踩坑小结
Feb 14 Javascript
JavaScript实现选项卡效果的分析及步骤
Apr 16 Javascript
javascript删除数组元素的七个方法示例
Sep 09 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
Sep 23 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 开发工具
2006/12/06 PHP
PHP Token(令牌)设计
2008/03/15 PHP
php 文章采集正则代码
2009/12/28 PHP
php 保留字列表
2012/10/04 PHP
php中{}大括号是什么意思
2013/12/01 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
canvas绘制多边形
2017/02/24 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
python Django框架实现自定义表单提交
2016/03/25 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
高中生学习生活的自我评价
2013/10/09 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
表彰大会主持词
2014/03/26 职场文书
销售团队口号大全
2014/06/06 职场文书
公司户外活动总结
2014/07/04 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
开业典礼致辞
2015/07/29 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
html5调用摄像头实例代码
2021/06/28 HTML / CSS
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
MySQL 5.7常见数据类型
2021/07/15 MySQL