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 相关文章推荐
url 特殊字符 传递参数解决方法
Jan 01 Javascript
Javascript玩转继承(三)
May 08 Javascript
JavaScript Array对象扩展indexOf()方法
May 09 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
Aug 11 Javascript
angularJS Provider、factory、service详解及实例代码
Sep 21 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
Feb 16 Javascript
JS实现颜色动态淡化效果
Mar 06 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
Nov 22 Javascript
Vue使用watch监听一个对象中的属性的实现方法
May 10 Javascript
VUE脚手架具体使用方法
May 20 Javascript
js实现无缝滚动双图切换效果
Jul 09 Javascript
node.js通过url读取文件
Oct 16 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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
PHP 强制下载文件代码
2010/10/24 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
joomla数据库操作示例代码
2016/01/06 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
javascript常用方法汇总
2014/12/02 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
Python魔法方法功能与用法简介
2019/04/04 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
中间件分为哪几类
2012/03/14 面试题
国企干部对照检查材料
2014/08/22 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏