javascript - 如何停止代码让用户在输入中输入以下值
问题描述
我做了一些计算器,希望用户轮流输入第一个和第二个值。我需要在用户输入第一个值时停止程序,并在用户在同一输入字段中输入第二个值时继续。用户继续按 html 代码中的“=”按钮或“Enter”。
$('#plus').on('click', function(){
var firstNum = $("#txt").val()
$("input").val('')
if (isResult === true || $("input").keypress() === 13){
var secondNum = $("#txt").val()
result = Number(firstNum)+Number(secondNum)
console.log(result)
}
<input type='text' id='txt' value='' onpaste="return false" placeholder="Enter number" />
解决方案
您可以在页面加载时隐藏第二个输入元素(和等号按钮),然后在用户单击操作符时显示输入(和等号按钮)以使其更具交互性。
您可以在这个令人惊叹的网站上获得有关在隐藏和显示元素之间切换的更多信息:https ://www.w3schools.com/howto/howto_js_toggle_hide_show.asp
var firstNum;
var secondNum;
var first_in = document.getElementById("txt1");
var sec_in = document.getElementById("txt2");
var equal = document.getElementById("equals");
sec_in.style.display = "none";
equal.style.display = "none";
$('#plus').on('click', function() {
if (firstNum === undefined) {
firstNum = Number($("#txt1").val());
sec_in.style.display = "block";
equal.style.display = "block";
}
});
$('#equals').on('click', function() {
if (secondNum === undefined) {
secondNum = Number($("#txt2").val());
var result = firstNum + secondNum;
console.log(result);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='text' id='txt1' value='' onpaste="return false" placeholder="Enter first number" />
<button type="button" id="plus">+</button>
<input type='text' id='txt2' value='' onpaste="return false" placeholder="Enter second number" />
<button type="button" id="equals">=</button>
推荐阅读
- python - 在 python 中使用 selenium 循环遍历 csv 中的键并下载 pdf
- qt - GridLayout columnSpan 属性不能按预期工作
- c++ - 非阻塞伪终端,POLLHUP 后恢复
- ios - Xcode 在运行脚本阶段后未添加新生成的 plist
- sql - MS SQL 处理与奇怪字符串相同的空值
- angular - Nativescript 应用程序未在终端中显示 console.log 消息
- postgresql - regex function in chef inspec output
- c# - Microsoft.ML 在使用 LoadFromEnumerable 时添加标签
- python - Pandas:在数据框中从长格式到宽格式
- nuxt.js - 扩展运算符不适用于 vuex 突变