• js一个抽奖的例子


         朋友公司开年会,帮忙写了个抽奖的demo,源码如下,github中有程序:

    html:

     1 <header>
     2         lottery demo
     3     </header>
     4     <div class="main">
     5         <ul>
     6             <li><img src="photos/name_s.jpg" alt="童年照" class="little_pic"></li>
     7             <li><img src="1.jpg" alt="真相照" class="truth_pic"></li>
     8         </ul>
     9         <input type="button" value="开始" class="lottery">
    10         <select class="prize">
    11             <option value="1">一等奖</option>
    12             <option value="2">二等奖</option>
    13             <option value="3">三等奖</option>
    14         </select>
    15         <input type="button" value="真相" class="truth">
    16     </div>
    17     <footer>
    18         <span class="prize_num"></span>
    19     </footer>

    css:

     1 body{
     2             margin:0;
     3             padding: 0;
     4             background-color: #4F81BC;
     5             color: #fff;
     6             text-align: center;
     7         }
     8         ul{
     9             list-style-type: none;
    10         }
    11         header{
    12             width: 500px;
    13             margin: 100px auto 0 auto;
    14             font-size: 24px;              /* 显示“lottery demo”字体大小 */
    15             /* border:1px solid #000; */
    16         }
    17         ul{
    18             width: 800px;                 /* 两张图片共占的宽度 */
    19             height: 400px;                    /* 显示图片的高度 */            
    20             margin:50px auto;
    21             overflow: hidden;
    22         }
    23         li{
    24             width: 50%;
    25             float: left;
    26             height: 100%;
    27         }
    28         img{
    29             width: 100%;
    30             height: 100%;
    31         }
    32         footer{
    33             margin-top: 50px;
    34             font-size: 24px;             /* 显示“*等奖”字体大小 */
    35         }

    js:

     1 /* 20150609 */
     2 var lottery = document.getElementsByClassName('lottery')[0];
     3 var truth = document.getElementsByClassName('truth')[0];
     4 var littlePic = document.getElementsByClassName('little_pic')[0];
     5 var truthPic = document.getElementsByClassName('truth_pic')[0];
     6 var prize = document.getElementsByClassName('prize')[0];
     7 var prizeNum = document.getElementsByClassName('prize_num')[0];
     8 var flag = 0;
     9 var num = 0;
    10 var timer;
    11 var t_pic;
    12 
    13 function Game(){
    14     this.namesArr=["name_查","name_萍","name_s"];    /*童年照片名*/
    15     this.truthsArr=["p1","p2","p3"];                /*成年照片名,与上面的顺序对应*/
    16 };
    17 
    18 Game.prototype.init = function(){
    19     lottery.value = "开始";
    20     prizeNum.innerHTML = "一等奖";
    21 };
    22 
    23 Game.prototype.start = function(){
    24     var names = this.namesArr;
    25     var truths = this.truthsArr;
    26     prize.addEventListener("change",function(evt){
    27         var index = prize.selectedIndex;
    28         getPrize(index);
    29     },false);
    30     
    31     lottery.addEventListener("click",function(evt){
    32         if(flag===0){
    33             lottery.value = "停止";
    34             flag=1;
    35             truthPic.src = "1.jpg";
    36             getPicName(names,truths);
    37         }else{
    38             lottery.value = "开始";
    39             flag=0;
    40             stopPic(names,truths);
    41         }
    42     },false);
    43 
    44     truth.addEventListener("click",function(evt){
    45         truthPic.src = t_pic;
    46     },false);
    47 };
    48 
    49 function getPicName(names,truths){
    50     num = 0;
    51     timer = setInterval(function(){
    52         num++;
    53         if(num===names.length){
    54             num = 0;
    55         }
    56         littlePic.src = "photos/"+ names[num] +".jpg";
    57         t_pic = "photos/"+ truths[num] +".jpg";
    58     },100);
    59 }
    60 
    61 function stopPic(names,truths){
    62     clearInterval(timer);
    63     if(names.length>=2){
    64         names.splice(num,1);
    65         truths.splice(num,1);
    66     }else{
    67         alert("Game over!");
    68     }
    69 }
    70 
    71 function getPrize(index){
    72     prizeNum.innerHTML = prize.options[index].text;
    73 }
    74 
    75 function play(){
    76     var game = new Game();
    77     game.init();
    78     game.start();
    79 }
    80 
    81 play();

         可下载源码查看效果。

  • 相关阅读:
    bootstrap
    移动视口,以及适配
    CSS线性渐变
    css之什么是bfc
    css 深入进阶之定位和浮动三栏布局
    webpack 4 技术点记录
    jQuery的学习总结
    jQuery 知识大全
    JS高级进阶
    正则
  • 原文地址:https://www.cnblogs.com/ethy/p/4563505.html
Copyright © 2020-2023  润新知