在线演示:
http://demo./js/jquery_xinsuan/index.htm
看看大家做完要多长时间,代码如下:
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title>心算练习,Do Your Best</title>
<style type="text/css">
body
{
text-align: center;
padding: 0;
margin: 0;
}
div
{
width: 1000px;
margin: auto;
}
div table
{
border-collapse: collapse;
width: 100%;
table-layout: fixed;
text-align: left;
}
div table td
{
border: 1px solid silver;
padding-left: 3em;
}
div span
{
padding: 3px 8px;
}
table input
{
width: 3em;
}
.red
{
color: Red;
}
.green
{
color: Green;
}
</style>
<script type="text/javascript" src="http://demo./jslib/jquery/jquery-1.4.4.js"></script>
<script type="text/javascript">
$(function () {
fnInitTable(2);
fnHideResult();
});
//显示正确结果及分数
function fnShowResult() {
var vCount = 0;
$("table tr td").each(function (i) {
var vUserResult = $.trim($(this).find("input").val());
var vCorrectResult = $.trim($(this).find("span:last-child").text());
if (vUserResult == vCorrectResult) {
vCount++;
$(this).find("span:last-child").show().addClass("green");
}
else {
$(this).find("span:last-child").show().addClass("red");
}
});
$("#score").text(vCount);
}
function fnHideResult() {
$("table td span:last-child").hide();
}
//生成尾数不为零的随机数
function fnRandomBy(parUnder, parOver) {
var vResult = 0;
while (vResult % 10 == 0) {
switch (arguments.length) {
case 1:
vResult = parseInt(Math.random() * parUnder + 1);
break;
case 2:
vResult = parseInt(Math.random() * (parOver - parUnder + 1) + parUnder);
break;
default:
vResult = 0;
break;
}
}
return vResult;
}
function fnInitTable(parDigit) {
var vPreValue;
var vNextValue;
var vResultt;
$("table").empty();
for (var i = 0; i < 10; i++) {
$("table").append("<tr></tr>");
for (var k = 0; k < 3; k++) {
vPreValue = fnRandomBy(10, 100);
if (parDigit == 2) {
vNextValue = fnRandomBy(10, 100);
}
else {
vNextValue = fnRandomBy(100, 1000);
}
vResultt = vPreValue * vNextValue;
$("table tr:last").append("<td>" + vPreValue + "<span>×</span>" + vNextValue + "<span>=</span>" + "<input type='text' /\>" + "<span>" + vResultt + "</span>" + "</td>");
}
$("table").append("</tr>");
}
fnInit();
}
function fnInit() {
fnResetTime();
fnHideResult();
$("table input").attr("disabled", "true");
$("#score").text("");
}
var vTimerID = 0;
//开始按钮连续单击会使得时间加快,vContinueClick可判断是否连续单击,多谢小龙女提示
var vContinueClick = 0;
function fnBegin() {
//分数的显示与否来确认是否单击结束按钮
if ($.trim($("#score").text()) != "") {
fnResetTime();
$("table input").val("");
}
fnHideResult();
vContinueClick++;
if (vContinueClick == 1) {
vTimerID = setInterval("fnUpdateTime()", 1000);
}
$("table input").removeAttr("disabled");
}
function fnPause() {
vContinueClick = 0;
$("table input").attr("disabled", "true");
clearInterval(vTimerID);
}
function fnStop() {
fnPause();
fnShowResult();
}
function fnResetTime() {
$("#hour").text("00");
$("#minute").text("00");
$("#second").text("00");
}
function fnUpdateTime() {
//小龙女短时间内搞定,parseInt()的参数非常重要
var vSecond = parseInt($("#second").text(), 10);
var vMinute = parseInt($("#minute").text(), 10);
var vHour = parseInt($("#hour").text(), 10);
//处理秒数
vSecond++;
if (vSecond >= 0 && vSecond < 10) {
$("#second").text("0" + vSecond);
} else if (vSecond >= 10 && vSecond <= 60) {
$("#second").text(vSecond);
} else {
$("#second").text("00");
//大于60秒,就需处理分钟
vMinute++;
if (vMinute >= 0 && vMinute <= 9) {
$("#minute").text("0" + vMinute);
} else if (vMinute >= 10 && vMinute <= 60) {
$("#minute").text(vMinute);
} else {
$("#minute").text("00");
//处理小时
vHour++;
if (vHour >= 0 && vHour <= 9) {
$("#hour").text("0" + vHour);
}
else {
$("#hour").text(vHour);
}
}
}
}
</script>
</head>
<body>
<div>
<p>
<span>计时:</span> <span id="hour">00</span>:<span id="minute">00</span>:<span id="second">00</span>
<br />
<input type="button" name="" value="开始" onclick="fnBegin()" />
<input type="button" name="" value="暂停" onclick="fnPause()" />
<input type="button" name="" value="结束" onclick="fnStop()" />
<br />
<input type="button" name="pre" value="生成 2 × 2" onclick="fnInitTable(2)" />
<input type="button" name="" value="生成 2 × 3" onclick="fnInitTable(3)" />
<br />
分数:<span id="score"></span>
</p>
<table>
</table>
</div>
</body>
</html>
实现代码的过程中,有两个问题很棘手,一个是开始按钮连续单击,计时时间会迅速加快;二是如何判定玩家单击哪个按钮。问题得到小龙女的解答,加个标志位,好多问题就迎刃而解的。最大的收获就是代码的组织,若想代码量少,清晰的思路以及解决一个问题的好方法很重要。先实现,后优化,一种值得借鉴的方法!练习中还会有一些bug,希望大家多多指出!
相关推荐:
ChatGPT网页打不开?快来看看这些解决办法,轻松恢复正常访问!,ai金色包装
SEO优化大全:让你的网站排名轻松破局,精准引流更高效!,274357524ai
SEO有话:如何用精准优化助力企业在线增长,食品微信营销推广
用AI写的文章算原创吗?真相揭示,带你深度思考!
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
企业如何借助SEO咨询实现精准流量引爆,助力业绩提升,立刻推广的旅游线下营销
AI工具汇总网站,让科技为您的工作加速
SEO快排还有效果吗揭秘快速排名的真相与未来趋势,ai人像波普
在线AI文章生成:内容创作新革命
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
好用的人工智能AI软件推荐,让你的生活更智能!
OpenAI您的信用卡被拒绝了?请尝试用借记卡支付,轻松解决支付问题!,ai cdr缩略图补丁
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
SEO出来,打破流量瓶颈,助力企业增长的关键策略,南昌营销推广代理商电话
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
AI网页效果生成:开启网站设计的新纪元,ai画线祥云
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
seo资源指的是什么,seo资料 ,绿眼AI
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
ChatGPT:基于Transformer技术的语言模型,开创人工智能未来,AI独战OK
SEO合作:让你的网站在搜索引擎中脱颖而出,惠州抖音seo策划公司
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
SEO短视:为何眼前的成效不能成为长久的策略?,网站上线seo优化
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
优化平台:让数字化转型更简单、更高效,莆田谷歌seo品牌排行
seo网站代码是什么,网站专业术语中seo意思是什么 ,拟人ai制作
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
SEO怎么设置:让你的网站快速登上搜索引擎首页的秘密,Ai压印分色
AI网页设计生成-智能化创造无限可能,ai机甲风背景音乐
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
SEO合同:确保您网站优化成功的关键保障,微博营销推广规则最新
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,金融网站推广维护
AI免费生成:释放创造力的秘密武器
seo要学什么语言,做seo需要什么语言 ,ai martino
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
“曝光量扩大,助力品牌腾飞的秘密武器”,盐山网站优化免费咨询
好用的AI智能工具,让生活与工作更高效!
AI缩写文本:助力智能生活的革新力量,ai智能写作生成神器下载
AI公众号文章生成,轻松打造爆款内容
ChatGPT免费版的限制:你需要了解的5大制约因素,Ai分解模型
什么是SEO优化方案,seo的优化方案 ,ai emorobot
怎么让AI润色文章,让写作更轻松?
ChatGPT启动时遇到问题?快速解决方案让你畅享智能对话体验,ai如何保存logo
AI翻译工具的革命-ChatGPT等技术让语言互通无碍,淘宝ai写作检测准吗
未来智能:AI智能人工软件引领数字化变革
ChatGPT为什么访问不了了?了解背后的原因与解决方法,AI怎么拖入路径