请大神帮忙修改下这个js

qingwadaxia_1 2017-12-15 09:30:20

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<head>
<script id="jquery_172" type="text/javascript" class="library" src="http://demo.sc.chinaz.com//Files/DownLoad/webjs1/201303/jiaoben763/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">

$(function(){

var alldata = new Array("张三","李四","王五","赵六","小刘","小赵");
var num = alldata.length - 1;
var show = $("#show");
var btn = $("#btn");
var open = false;

function change(){
var randomVal = Math.round(Math.random() * num);
var prizeName = alldata[randomVal];
show.text(prizeName);
}

function run(){
if(!open){
timer=setInterval(change,30);
btn.removeClass('start').addClass('stop').text('停止');
open = true;
}else{
clearInterval(timer);
btn.removeClass('stop').addClass('start').text('开始抽奖');
open = false;
}
}

btn.click(function(){run();})

})

</script>
<style>
body{ background:#fff;}
.wrap{ width:300px; margin:100px auto; font-family:"微软雅黑";}
.show{ width:300px; height:300px; background-color:#ff3300; line-height:300px; text-align:center; color:#fff; font-size:28px; -moz-border-radius:150px; -webkit-border-radius:150px; border-radius:150px; background-image: -webkit-gradient(linear,0% 0%, 0% 100%, from(#FF9600), to(#F84000), color-stop(0.5,#fb6c00)); -moz-box-shadow:2px 2px 10px #BBBBBB; -webkit-box-shadow:2px 2px 10px #BBBBBB; box-shadow:2px 2px 10px #BBBBBB;}
.btn a{ display:block; width:120px; height:50px; margin:30px auto; text-align:center; line-height:50px; text-decoration:none; color:#fff; -moz-border-radius:25px; -webkit-border-radius:25px; border-radius:25px;}
.btn a.start{ background:#80b600;}
.btn a.start:hover{ background:#75a700;}
.btn a.stop{ background:#00a2ff;}
.btn a.stop:hover{ background:#008bdb;}
</style>

</head>

<body>
<div class="wrap">
<div class="show" id="show">点击按钮开始抽奖</div>
<div class="btn">
<a href="javascript:void(0)" class="start" id="btn">开始抽奖</a>
</div>
</div>
</body>
</html>

上面是个抽奖的程序, 我想改成 抽中一个只会, 再次点击抽奖的话,这个人就不再被被抽中了 请问如何修改
...全文
239 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
crpstc 2017-12-15
  • 打赏
  • 举报
回复
<script type="text/javascript"> $(function(){ var alldata = new Array("张三","李四","王五","赵六","小刘","小赵"); var sdata = new Array("张三","李四","王五","赵六","小刘","小赵"); var num = alldata.length - 1; var show = $("#show"); var btn = $("#btn"); var open = false; //判断参数是否在数组中 Array.prototype.in_array = function(element) { for(var i =0;i<this.length;i++) { if(this[i] == element) { return true; } } return false; } //删除数组中的指定元素 Array.prototype.removed = function(element) { for(var i =0;i<this.length;i++) { if(this[i] == element) { this.splice(i,1); } } } function change(){ var randomVal = Math.round(Math.random() * num); var prizeName = alldata[randomVal]; show.text(prizeName); } function run(){ if(!open){ timer=setInterval(change,30); btn.removeClass('start').addClass('stop').text('停止'); open = true; }else{ clearInterval(timer); var prizeName = show.text(); if(sdata.in_array(prizeName)) { show.text(prizeName); sdata.removed(prizeName); }else{ prizeName = sdata[Math.round((Math.random()*(sdata.length-1)))]; sdata.removed(prizeName); if(sdata=="") { show.text('轮空!'); } show.text(prizeName); } btn.removeClass('stop').addClass('start').text('开始抽奖'); open = false; } } btn.click(function(){run();}) }) </script>
functionsub 2017-12-15
  • 打赏
  • 举报
回复
$(function(){
    var alldata = new Array("张三","李四","王五","赵六","小刘","小赵");
    var num = alldata.length - 1;
    var show = $("#show");
    var btn = $("#btn");
    var open = false;
    var randomVal;
    function change(){
        randomVal = Math.round(Math.random() * num);
        var prizeName = alldata[randomVal];
        show.text(prizeName);
    }

    function run(){
        if(!open){
            timer=setInterval(change,30);
            btn.removeClass('start').addClass('stop').text('停止');
            open = true;
        }else{
            clearInterval(timer);
            alldata.splice(randomVal,1);
            num = alldata.length - 1;
            btn.removeClass('stop').addClass('start').text('开始抽奖');
            open = false;
        }
    }

    btn.click(function(){
        run();
    })
})
apple8160 2017-12-15
  • 打赏
  • 举报
回复

$(function(){

var alldata = ["张三","李四","王五","赵六","小刘","小赵"];
var num = alldata.length - 1;
var show = $("#show");
var btn = $("#btn");
var open = false;

function change(){
var randomVal = Math.round(Math.random() * num);
  console.log(randomVal);
var prizeName = alldata[randomVal];
  
show.text(prizeName);
}

function run(){
if(!open){
timer=setInterval(change,30);
btn.removeClass('start').addClass('stop').text('停止');
open = true;
}else{
clearInterval(timer);
btn.removeClass('stop').addClass('start').text('开始抽奖');
open = false;

  alldata.remove(show.html());
  console.log(alldata);
  
}
}

btn.click(function(){run();})

})
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};

qingwadaxia_1 2017-12-15
  • 打赏
  • 举报
回复
引用 2 楼 functionsub 的回复:
function change(){
var randomVal = Math.round(Math.random() * num);
var prizeName = alldata[randomVal];
alldata.splice(randomVal,1);
num = alldata.length - 1;
show.text(prizeName);
}
不行啊 这样改 连停止都不会了 自己就停止了
functionsub 2017-12-15
  • 打赏
  • 举报
回复
function change(){
var randomVal = Math.round(Math.random() * num);
var prizeName = alldata[randomVal];
alldata.splice(randomVal,1);
num = alldata.length - 1;
show.text(prizeName);
}
qingwadaxia_1 2017-12-15
  • 打赏
  • 举报
回复
没有大神帮忙修改吗

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧