首页 > 其他分享 >js应用-猜数字

js应用-猜数字

时间:2023-05-30 11:15:21浏览次数:46  
标签:function 数字 zd tt js querySelector document 应用 png

之前学习循环的时候,做过一个游戏“猜数字”的练习。

这里主要利用js对css的控制,来重现这个游戏。

设计外观:

 根据设计制作html

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title></title>
 6         <script src="js/1.js"></script>
 7         <link rel="stylesheet" href="css/1.css">
 8     </head>
 9     <body onl oad="f1();">
10         <div style="text-align: center; margin-top: 50px;">
11             <div id="d0">
12                 <div id="d1">0</div><span class="fh"><</span>
13                 <div id="d2"></div><span class="fh"><</span>
14                 <div id="d3">100</div>
15             </div>
16             <div style="margin-top: 60px;">
17                 <span>你猜:</span><input type="text" id="t1"/>
18                 <input type="button" id="b1" value="确定"/>
19                 <input type="button" id="b2" value="重新开始"/>
20             </div>
21         </div>
22         
23     </body>
24 </html>

对应css

 1 #d0{
 2     display: flex;
 3     justify-content: center;
 4 }
 5 #d1,#d2,#d3{
 6     display: flex;
 7     border: 1px solid;
 8     width: 100px;
 9     height: 100px;
10     justify-content: center;
11     align-items: center;
12     font-size: 350%;
13 }
14 .fh{
15     font-size: 400%;
16 }
17 #d2{
18     background-size: 100%;
19     background-image: url("../img/1.png");
20 }

其中,1.png和2.png是网上找的两张图片,表示游戏进行时的问号和谜底炸弹。

(教学用,如有侵权,请联系删除)

运行效果

 js代码的设计,主要包括:

1、点击“确定”以后做的事qd。

2、点击“重新开始”以后做的事cx。

3、利用setTimeout延迟执行函数,制作一个边框闪烁效果。

 1 //全局变量
 2 var tt,da,xiao,zhong//文本框、大、小、中间,四个控件
 3 var a,zd,zx;//谜底,最大,最小三个变量
 4 var bk=1;//边框宽度指示
 5 //初始化函数
 6 function f1()
 7 {
 8     //初始化页面元素
 9     tt=document.querySelector("#t1");
10     da=document.querySelector("#d3");
11     xiao=document.querySelector("#d1");
12     zhong=document.querySelector("#d2");
13     //指定命令按钮的处理函数
14     let b1=document.querySelector("#b1");
15     b1.onclick=qd;
16     let b2=document.querySelector("#b2");
17     b2.onclick=cx;
18     //初始化游戏
19     cx();
20 }
21 function qd()
22 {
23     //测试内容
24     //游戏内容
25     x=parseInt(tt.value);
26     if(x<a)
27     {
28          zx=x;
29          shan('1');
30          setTimeout(function (){xiao.textContent=zx;},3500);
31     }
32     else if(x>a)
33     {
34          zd=x;
35          shan('2');
36          setTimeout(function (){da.textContent=zd;},3500);
37     }
38     else
39     {
40         zhong.style.backgroundImage='url("img/2.png")';
41     }
42     //焦点回到文本框
43     tt.select();
44 }
45 function cx()
46 {
47     //重新开始,需要重置谜底、最大、最小值
48     a=parseInt(Math.random()*99+1);
49     zd=100;
50     zx=0;
51     //设置界面
52     tt.value="";
53     da.textContent=zd;
54     xiao.textContent=zx;
55     zhong.style.backgroundImage= 'url("img/1.png")';
56 }
57 //外框闪烁三次(1表示前框,2表示后框)
58 function shan(x)
59 {
60     for(i=1;i<=6;i++)
61     {
62         setTimeout('shan1('+x+')',500*i);//setTimeout函数的参数只支持传值。
63     }
64 }
65 //闪烁1次
66 function shan1(t)
67 {
68     //确定哪个框闪烁
69     if(t==1)
70     {
71         x=xiao;
72     }
73     else
74     {
75         x=da;
76     }
77     //闪烁1次
78     if(bk==1)
79     {
80         x.style.borderWidth="5px";
81         bk=5;
82     }
83     else
84     {
85         x.style.borderWidth="1px";
86         bk=1;
87     }
88 }

代码不难,可以自行研究。运行效果正常。

 

标签:function,数字,zd,tt,js,querySelector,document,应用,png
From: https://www.cnblogs.com/wanjinliu/p/17438051.html

相关文章

  • js应用--简单计算器
    先根据常见计算器设计界面的大致布局: 根据以前的html和css知识,在页面上实现大致的样子html(index.html):1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8"/>5<title>简单计算器</title>6<linkrel="......
  • 红外光学雨量传感器的场景应用
    红外光学雨量传感器的场景应用 红外光学雨量传感器是一种基于红外线技术的雨量监测设备,它可以通过检测雨滴的信号强度来确定降雨强度和降雨量。红外光学雨量传感器具有使用方便、响应速度快、精度高等优点,因此在许多领域得到了广泛的应用。首先,红外光学雨量传感器可以用于气......
  • D-Hub数字厂牌 | 工业电气设备的数字身份证
    数字厂牌是基于物联网模式下的连接工具,可以根据生成的二维码完成文档查阅,设备定位,沟通交流等功能。数字线束和数字母排都是导入柜体的壳体模型、元件模型、接线逻辑之后实现整个柜体的模拟仿真,进而实现自动算线(算料),结合自动加工设备最终实现导线和母排的数字化生产。母排随手记......
  • 如何用Rust编写一个ChatGPT桌面应用
    今天发现了京东云团队发的一个博客,保存下来慢慢看。为什么我们需要一个桌面应用原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的prompt......(首先我假设你是一名如我一样习惯用IDEA开发的java仔)为什么是用Rust编写......
  • js 以多字段为维度汇总某一字段值
    js以多字段为维度汇总某一字段值JavaScript可以以多个字段为维度进行汇总。你可以使用多个for循环或forEach循环,针对每个字段进行分组。然后使用reduce方法进行汇总。举个例子,假设你有一个数组数据如下:letdata=[{name:'Alice',age:25,city:'NewYork',......
  • JS中的事件监听
    JavaScript的事件监听是一种机制,用于在HTML文档中的元素上注册事件处理程序,以便在特定事件发生时执行相应的JavaScript代码。事件监听的基本思想是将事件处理程序(也称为事件回调函数)绑定到特定的事件上。所谓特定的事件是当用户与页面进行交互时,比如点击按钮、键盘输入、鼠标移动......
  • Nodejs版本控制
    Nodejs版本控制NVM全称node.jsversionmanagement,专门针对node版本进行管理的工具,通过它可以安装和切换不同版本的node.js下载地址:https://github.com/coreybutler/nvm-windows下载之后安装的时候注意不能有中文名字中文路径以及空格可以显示当前的node版本nvmlist......
  • JS判断视频Video的播放、暂停、结束完成及获取长度事件监听处理
    在日常应用场景中,可能会遇到这么一个情况,需要判断用户是否完整的观看完了一部视频,在这个场景中,和视频相关的事件大体涉及到几个部分,获取视频长度,视频开始播放,暂停播放和播放结束,下面来看下如何通过JavaScript来监听获取视频的这几种状态。(1)html页面视频标签大体如下<videoid="v......
  • 统计同名数据基于html js
    #1.教程1将数据逐行复制到excell2.新建txt文件,将excell中的全部数据复制到txt文件中3.使用edge打开统计同名数据.html,右击网页打开控制台4.选择txt文件,确认,会在控制台展示结果点击#2.数据示例可以有空格,回车,形式为:名称数量```DN150球铁平插 9DN150*90°球铁双平弯头 1......
  • [NextJS] getStaticProps
    Continue... Ref: Next.js产品级的React框架-中文开发入门教学-编写静态页面属性getStaticProps  为了爬虫,所以这么写。importHeadfrom'next/head'exportdefaultfunctionHome(props){const{datalist}=props;return(<div>......