要用JavaScript编写一个数字键盘,你需要考虑以下几个方面:
以下是一个简单的数字键盘的实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数字键盘</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="display">0</div>
<div id="keyboard">
<button class="number">7</button>
<button class="number">8</button>
<button class="number">9</button>
<button class="operator">/</button>
<button class="number">4</button>
<button class="number">5</button>
<button class="number">6</button>
<button class="operator">*</button>
<button class="number">1</button>
<button class="number">2</button>
<button class="number">3</button>
<button class="operator">-</button>
<button class="number">0</button>
<button class="decimal">.</button>
<button class="clear">C</button>
<button class="operator">+</button>
<button class="equal">=</button>
</div>
<script src="script.js"></script>
</body>
</html>
#display {
width: 100%;
height: 50px;
background-color: #333;
color: white;
text-align: right;
padding: 10px;
font-size: 24px;
}
#keyboard {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
margin-top: 20px;
}
button {
padding: 20px;
font-size: 18px;
}
const display = document.getElementById('display');
const buttons = document.querySelectorAll('#keyboard button');
buttons.forEach(button => {
button.addEventListener('click', () => {
const value = button.textContent;
if (value === 'C') {
display.textContent = '0';
} else if (value === '=') {
try {
display.textContent = eval(display.textContent);
} catch (e) {
display.textContent = 'Error';
}
} else {
if (display.textContent === '0' && value !== '.') {
display.textContent = value;
} else {
display.textContent += value;
}
}
});
});
eval
函数可能存在安全风险,因为它会执行传入的字符串作为代码。建议使用更安全的方法来处理计算逻辑。math.js
,来替代eval
。通过以上步骤和示例代码,你可以创建一个基本的数字键盘,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云