HTML+CSS+JS實現小學四則運算自動出題程序

HTML+CSS+JS實現小學四則運算自動出題程序

要求

編寫一個小學四則運算自動出題程序

要求:

1、100以內四則運算,題目自動生成;

2、頁面需要有計算結果輸入框,提交按鈕;

3、用戶提交結果之後系統能自動計算成績;

4、系統能提示用戶答錯的題號,可以在答錯的題號後做一個標記。

代碼

HTML

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			body{
				margin: 0;
				padding: 0;
			}
			.header{
				margin-top: -30px;
				height: 135px;
				width: 40%;
				margin-left: auto;
				margin-right: auto;
				/* margin: 30px auto; */
				background: url(img/Logo.PNG);
				background-position:-30px -42px;
				/* border: red 1px solid; */
			}
			.content{
				height: 510px;
				width: 40%;
				margin-left: auto;
				margin-right: auto;
				/* border: red 1px solid; */
				background: url(img/timg.jpg);
			}
			.content-1{
				width: 100%;
				height: 50px;
				/* border: red 1px solid; */
				line-height: 50px;
				margin-left: 250px;
			}
			.content-1 span{
				font-size: 18px;
			}
			.content-1 input{
				width: 30px;
			}
			.footer{
				width: 40%;
				height: 40px;
				margin-left: auto;
				margin-right: auto;
				/* border: red 1px solid; */
			}
			form{
				width: 25%;
				height: 20px;
				/* border: red 1px solid; */
				margin-left: auto;
				margin-right: auto;
				margin-top: 10px;
				position: relative;
			}
			.footer input{
				width: 60px;
				background-color: antiquewhite;
			}
			#bt2{
				position: absolute;
				right: 0;
			}

		</style>
	</head>
	<body>
		<!-- 頭部信息 -->
		<div class="header">
			<span id="id_M">00</span>
			<span id="id_S">00</span>
		</div>
		<!-- 出題內容 -->
		<div class="content">
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
			<div class="content-1">
				<span class="sp">3 + 3 = </span>
				<input type="text" class="answer" value="" />
			</div>
		</div>
		<!-- 底部標籤 -->
		<div class="footer">
		<form action="" method="">
			<input type="button" id="bt1" value="判斷" />
			<input type="button" id="bt2" value="下一頁" />
		</form>
		</div>
		<!-- JS腳本 -->
		<script type="text/javascript">
			// 計時變量
			var c = 0
			var timer = null
			
			var oBt1 = document.getElementById("bt1")
			var oBt2 = document.getElementById("bt2")
			var oContent = document.getElementsByClassName("sp")
			var Answer = document.getElementsByClassName("answer")
			var id_S = document.getElementById("id_S")
			var id_M = document.getElementById("id_M")
			// console.log(Answer)
			// strs = str.split(",")
			// console.log(oContent)
			oBt1.onclick = function(){
				var count = 0
				for(var i = 0;i < oContent.length;i++){
					strs = oContent[i].innerHTML.split(" ")
					Ans = Answer[i].value
					// console.log(Ans)
					var add1 = strs[0]
					var operator = strs[1]
					var add2 = strs[2]
					// console.log(strs)
					// console.log(operator)
					if(operator == "+"){
						// alert(222)
						if(Number(add1) + Number(add2) == Number(Ans)){
							count++;
						}else{
							Answer[i].style.backgroundColor = "red";
						}
					}
					if(operator == "-"){
						if(Number(add1) - Number(add2) == Number(Ans)){
							count++;
						}else{
							Answer[i].style.backgroundColor = "red";
						}
					}
				}
				
				// 新增計時功能,結束計時
				c = 0
				//數據清零
				Min = id_M.innerText
				S = id_S.innerText
				id_S.innerHTML = "00"
				id_M.innerHTML = "00"
				
				alert("恭喜你答對了"+count+"題!"+"共用時"+Min+"分"+S+"秒!")
			}
			
			// 下一頁 開始計時
			oBt2.onclick = function(){
				alert("success")
				for(var i = 0;i < oContent.length;i++){
					Answer[i].style.backgroundColor = "white";
					Answer[i].value = " "
					var add1 = parseInt(Math.random()*100)
					var add2 = parseInt(Math.random()*100)
					var ope = Math.round(Math.random())
					strs = oContent[i].innerHTML.split(" ")
					if(ope == 0){
						strs[1] = "+"
					}
					if(ope == 1){
						strs[1] = "-"
					}
					// console.log(oContent[i].innerText)
					// console.log(strs)
					strs[0] = add1
					strs[2] = add2
					// console.log(strs)
					oContent[i].innerText = strs[0]+" "+strs[1]+" "+strs[2]+" "+strs[3]+" "+strs[4]+" "
				}
				
				// 新增計時功能,開始計時
				timer = setInterval(function() {
				    c++;
				    // console.log(c)
				        // 需要改變頁面上時分秒的值
				    // console.log($("id_S"))
				    id_S.innerHTML = showNum(c % 60)
				    id_M.innerHTML = showNum(parseInt(c / 60) % 60)
				},1000)
			}
			//封裝一個處理單位數字的函數
			function showNum(num) {
			    if (num < 10) {
			        return '0' + num
			    }
			    return num
			}
		</script>
	</body>
</html>

自動出題功能:

在這裏插入圖片描述

判錯功能:

在這裏插入圖片描述

計時功能:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章