黑马程序员技术交流社区

标题: 修改代码 [打印本页]

作者: 小宇哥    时间: 2015-4-24 10:56
标题: 修改代码
本帖最后由 小宇哥 于 2015-5-21 16:00 编辑

<body>
<h1>随机抽选列表:</h1>
<div id="namelist"></div>
<div id="btn">
<button id="start">开始<but
ton>
<button id="end">停止<bu
tton>
</div>
<div id="ok"></div>
<script>

// 设置滚动速度
var speed = 20;


// 设置姓名列表
var array = [
"李国", "王五","赵六","李三","小明"
];
window.onload = function () {
var count = array.length;
var list  = document.getElementById('namelist');
var timer = null;
var newarr= [];
function randomsort(a, b) {
return Math.random()>.5 ? -1 : 1;
}
function randlist () {
var string = '';
var newarray = array.sort(randomsort);
for (var i=0;
i<newarray.length; i++) {
string += '<p>' + array + '</p>';
}        
list.innerHTML = string;
return newarray;
}
//初始化
randlist();
var start = 0;
document.getElementById('start').onclick = function(){
if (start == 1) {
return false;
}
start = 1;
timer = setInterval(function(){
newarr = randlist();
}, speed);
document.getElementById('ok').innerHTML = '正在抽取,请稍后...';
};
document.getElementById('end').onclick = function() {
if (!newarr.length) {
document.getElementById('ok').innerHTML = '请先“开始”';
return false;
}
start = 0;
clearTimeout(timer);
var num = parseInt(count * Math.random());
document.getEle
mentById('ok').innerHTML = '“' + newarr[num] + '”同学';
newarr = [];
};
}
</script>
</body>
<htm
l>

这是老师的点名系统
谁能改下把其中一个人的随机不出来
但是界面上还显示


作者: major2015    时间: 2015-4-24 10:56
  1. <!DOCTYPE head PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>点名系统</title>
  5. </head>
  6. <body>

  7.         <h1>随机抽选列表:</h1>
  8.         <div id="nameList"></div>
  9.         <div id="btn">
  10.                 <button id="bStart">开始</button>
  11.                 <button id="bEnd">停止</button>
  12.         </div>
  13.         <div id="ok"></div>
  14.         <script>
  15.                 // 设置滚动速度,即每过多少时间打乱一次排序
  16.                 var speed = 20;

  17.                 // 设置姓名列表
  18.                 var array = [ "李国", "王五", "赵六", "李三", "小明" ];
  19.                 window.onload = function() {
  20.                         
  21.                         var list = document.getElementById('nameList');
  22.                         var timer = null;
  23.                         var newarr = [];
  24.                         
  25.                         //对数据进行随机排序,即打乱数据的排序
  26.                         function randomsort(a, b) {
  27.                                 return Math.random() > .5 ? -1 : 1;
  28.                         }
  29.                         function randlist() {
  30.                                 var string = '';
  31.                                 //打乱数组顺序
  32.                                 var newarray = array.sort(randomsort);
  33.                                 //文档区域显示排序
  34.                                 for ( var i = 0; i < newarray.length; i++) {
  35.                                         string += '<p>' + array + '</p>';
  36.                                 }
  37.                                 list.innerHTML = string;
  38.                                 
  39.                                 return newarray;
  40.                         }
  41.                         //初始化
  42.                         randlist();
  43.                         var start = 0;
  44.                         document.getElementById('bStart').onclick = function() {
  45.                                 if (start == 1) {
  46.                                         return false;
  47.                                 }
  48.                                 start = 1;
  49.                                 timer = setInterval(function() {
  50.                                         newarr = randlist();
  51.                                 }, speed);
  52.                                 document.getElementById('ok').innerHTML = '正在抽取,请稍后...';
  53.                         };
  54.                         
  55.                         document.getElementById('bEnd').onclick = function() {
  56.                                 //开始排序之前,newarr为空,即长度为0,0表示false
  57.                                 if (!newarr.length) {
  58.                                         document.getElementById('ok').innerHTML = '请先点击“开始”';
  59.                                         return false;
  60.                                 }
  61.                                 start = 0;
  62.                                 
  63.                                 //clearTimeout()        Cancels a time-out that was set with the setTimeout method.
  64.                                 clearTimeout(timer);
  65.                                 
  66.                                 //生成随机数
  67.                                 var num = parseInt(array.length * Math.random());
  68.                                 
  69.                                 
  70.                                 ////////////////////////////////////////////////////////////////
  71.                                 //判断当前元素是否为不想显示的名字,如果是,判断该元素在newarr中脚标是否为0,不为零就将前一位打印出来,为零就打印后一位
  72.                                 var notMe ="小明";
  73.                                 if(newarr[num] == notMe) {
  74.                                         num == 0 ? num++ : num--;
  75.                                 }
  76.                                 ////////////////////////////////////////////////////////////////
  77.                                 
  78.                                 document.getElementById('ok').innerHTML = '“' + newarr[num]
  79.                                                 + '”同学';
  80.                                 newarr = [];
  81.                         };
  82.                 }
  83.         </script>
  84. </body>
  85. </html>
复制代码
额,就是这样了

作者: major2015    时间: 2015-4-24 22:36
问错地方了
作者: 横看成岭侧成锋    时间: 2015-4-25 21:56
这里是Java
作者: forplay    时间: 2015-4-27 09:51
这是js代码吧……
作者: lucky_francis    时间: 2015-4-28 23:33
j这个应该是sp代码
作者: 0416_张威    时间: 2015-5-4 21:36
看不懂,,,不是java吧
作者: 紫影    时间: 2015-5-6 09:12
你的数组内就一个人名,咋滚动啊
作者: 方的黑马    时间: 2015-5-10 23:31
怎么是混合语言,还有脚本的吗?你得说清楚啊
作者: Always,    时间: 2015-5-13 11:43
                    这是简单的js代码偶。。大哥你可以自己试着慢慢改吧。。我虽然能看懂。。但没能力改过啊

作者: as604049322    时间: 2015-5-16 09:37
不明白楼主想做啥?只看到一堆垃圾JS代码,,,我只能重写代码实现一个简单的JS点名系统
作者: yas丶    时间: 2015-5-17 18:15
真心看不懂
作者: 小宇哥    时间: 2015-5-21 15:44
major2015 发表于 2015-4-24 22:36
问错地方了

javaScript的知识。。。
作者: 小宇哥    时间: 2015-5-21 15:56
as604049322 发表于 2015-5-16 09:37
不明白楼主想做啥?只看到一堆垃圾JS代码,,,我只能重写代码实现一个简单的JS点名系统 ...

js代码放到这上面竟然乱了,这是个点名系统,只有js实现的。把代码复制下来,然后把显示乱的地方一改就行了,我这个是想改改功能,比如点名的时候,名单上有“小明”,但是我就是永远的点不到“小明”。
作者: 小宇哥    时间: 2015-5-21 15:59
方的黑马 发表于 2015-5-10 23:31
怎么是混合语言,还有脚本的吗?你得说清楚啊

这个只有JavaScript写的,放到上面有些乱了,比如前面<button></button>等,网页显示有问题。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2