分享

HTML5-右脑开发项目-基础训练-舒尔特表训练shulte-table.html

 樱花梦_张艺馨 2019-03-13

舒尔特表训练shulte-table.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www./TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>舒尔特表</title>

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">

</head>

<script src="../js/jquery-1.7.2.js"></script>

<script type="text/javascript">

//定义数组的截至数字

  var number = 25;//数组25个数字

var array=new Array(number);//数组定义

var count = 0;//时间秒数记录

//页面加载执行

$(document).ready(function (){

$("#m_mask").show();//显示遮罩层

//点击确定,隐藏遮罩层。

closebt.onclick=function(){ 

$("#m_mask").hide();

$("#i_show").show();

showDiffGroup(5, 1, number);

});

//二维数组

function getDiffGroup(num, min, max) {

    var res = [];

    for (var i = min; i <= max; i++){ //从最小数开始 加一 到最大数

    res.push(i);//将所有的数 push到数组中

    }

res.sort(function () { 

return 0.5 - Math.random(); //随机数排序

});

    var rst = [];

    for (var i = 0; i < res.length; i += num){

    rst.push(res.slice(i, i + num));//数组中放入截取后的数组

    }

    return rst;

}

//调用二维数组,拼接到页面

  function showDiffGroup(num, min, max){

    var rsts = getDiffGroup(5, 1, max);//5*5二维数组

    array = rsts;

    console.log(rsts.join('\n'));

    //将二维数组放入页面

    //var div = document.getElementById('div1');

    //拼接table

    var str ="<table border='1' width='350' height='350' cellspacing='0' cellpadding='0' bgcolor='#FFA500'>";

    // 循环遍历二维数组

    for(var i = 0;i<rsts.length;i++){//循环最外面的数组

    str+="<tr>";

        for(var j = 0;j<rsts[i].length;j++){//循环里面的数组

            str+= "<td align='center' id='td"+i+j+"' name='"+(i+''+j)+"' onClick = 'td_click("+(i+''+j)+")' value='"+rsts[i][j]+"'>"+rsts[i][j]+"</td>";//拼接<td>

        }

        str+="</tr>";

    }

    str+="</table>";

    //将table添加到div中

    //div.innerHTML = str;

    $("#shulte").append(str);

   }

 //在二维数组中查找数字 - 二维数组的下标

    function findNumber(target, array){

    //循环遍历查找下标 

    for(var i=0;i<array.length;i++){

    for(var j=0;j<array[0].length;j++){

    if(array[i][j] == target){

    return i+""+j;//查找到后返回下标

    }

    }

    }

    return 0;//没查找到返回0

}

 //表格点击事件

 function td_click(td_flag){

  //点击表格时,判断是否已经点击计时按钮,若未点击,自动计时

  var i = $("#button_count").val();

  if(i<0){//未点击

startTime();//自动计时

}

  var flag = 0;//数组下标

  //循环遍历,查找数组的下标

    for(var i=1;i<=number;i++){

    var flag =findNumber(i,array);//数字从1-25开始查找。

    if(td_flag == flag){

    break;

    }

    }

    //获取点击数字的值。

    var td_val =$("#td"+flag).text();

    //获取点击次数

var num=$("#shulte_text").val();

//判断点击次数是否比显示的个数少。

if(num<=number){

//判断点击的数字为点击的次数,则正常排序,否则,排序错误,提示。

if(td_val == num){

num++;

if(num>number){//点击数字完毕,触发暂停事件

$("#button_count").attr("value",1);//页面数字是基数

startTime();//暂停时间

//显示使用的时间

var hour = $("#hour").text();

var minute = $("#minute").text();

var second = $("#second").text();

var ms = $("#ms").text();

alert("您用时:"+hour+"时"+minute+"分"+second+"秒"+ms+"毫秒");

$("#hour").html("00");

$("#minute").html("00");

$("#second").html("00");

$("#ms").html("00");

$("#start").html("开始计时");

count=0;//将时间秒数重新设置为0

$("#shulte_text").attr("value",1);//点击次数设置为1

$("#button_count").attr("value",-1);//计时时间设置为偶数

$("#shulte").empty(); //将舒尔特表的div清空

showDiffGroup(5, 1, number);//重新生成5*5舒尔特表

}else{//1-25 点击次数赋值

$("#shulte_text").attr("value",num);//推荐这种写法,可正常赋值

}

}else{

alert("请点击:"+num);

}

}

   }

//拼接时间

var intervalId;

function startTime() {

var i = $("#button_count").val();

if(i<0){

i = 0;

}

var hour = document.getElementById("hour");

var minute = document.getElementById("minute");

var second = document.getElementById("second");

var ms = document.getElementById("ms");

var buttonEle = document.getElementById("start");

console.log(count);

if(i % 2 == 0) {

buttonEle.innerHTML = "暂停计时";

intervalId = setInterval(function() {

count += 1;

var thehour = parseInt(count / 360000);

var theminute = parseInt(count / 6000 % 60);

var thesecond = parseInt(count / 100 % 60);

var thems = parseInt(count % 100);

if(thehour >= 10) {

hour.innerHTML = thehour + " ";

} else {

hour.innerHTML = "0" + thehour + " ";

}

if(theminute >= 10) {

minute.innerHTML = theminute + " ";

} else {

minute.innerHTML = "0" + theminute + " ";

}

if(thesecond >= 10) {

second.innerHTML = thesecond + " ";

} else {

second.innerHTML = "0" + thesecond + "  ";

}

if(thems >= 10) {

ms.innerHTML = thems + " ";

} else {

ms.innerHTML = "0" + thems + " ";

}

}, 10)

} else {

buttonEle.innerHTML = "计时继续";

clearInterval(intervalId);

}

$("#button_count").attr("value",++i);//页面数字自加1

}

</script>

<body>

<div align="left" > 

<img height="50" width="50"  src="../img/tubiao/1.png" border="0" title="返回上一页" style="background-repeat: no-repeat" onClick="javascript:history.back(-1);">

<div style="position:absolute;z-index: 10;left: 150px;top: -20px;">

<p align="center" style="font-size: 30px;color: black;font-weight:bold;">舒尔特表</p>

</div>

</div>

<!--遮罩层显示-->

<div id="m_mask" align="center" style="top:0%; left:0%; padding:16px; border:3px solid orange; background-color:wheat;position:absolute;z-index:1002; overflow:auto; max-width: 100%;height:100%;display: block;"> 

<div style="font-size: 30px;flood-color: black;word-wrap:break-word;word-break:break-all;overflow:hidden">

<p style="font-size: 35px;flood-color: red;" align="center">使用说明: </p>

<br />

<p >1:舒尔特表格:此表格是一个5*5的表格,请依次将1-25个数字排序找出。使用时间最少即右脑开发越多。</p>

<p>2:每天任务:每天练习1到5次。</p>

<a href="javascript:void(0)" id="closebt" style="flood-color: blue;" >确定 </a>

</div>

</div>

<div id="i_show" style="display: none;">

<div style="height: 50px;border-radius:100px;font-size:1rem;">

<p align="center" style="color:red;font-weight:bold;font-size:26px">

点击计时按钮后依次点击1-25

</p>

</div>

<!--表格显示    -->

<div style="max-width: 100%;height:350px;display: block;background-size: contain;">

<input id="shulte_text" type="hidden" value="1" />

<div class="slide" id="shulte" align="center">

</div>

</div>

<div style="height: 50px;"></div>

<!--时间显示    -->

<div id="firstDiv">

<div id="twoDiv" align="center" >

<span style="font-size: 20px;"><span id="hour">00 </span>时</span>

<span style="font-size: 20px;"><span id="minute">00 </span>分</span>

<span style="font-size: 20px;"><span id="second">00 </span>秒</span>

<span style="font-size: 20px;"><span id="ms">00 </span>毫秒</span>

<button id="start" onclick="startTime()" style="font-size: 20px;">开始计时</button>

<input id="button_count" type="hidden" value="-1" />

</div>

</div>

</body>

</html>


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约