如何制作一个开关 button/reverse 按钮。类似于 google 翻译
How to make a switch button/reverse button. Similar to google translate
我正在做一些计算,将 KG 转换为磅和磅转换为 KG,然后在输入上写下。但是,我只想用一个按钮来计算!明白了吗?
KG 换算 磅 -> KG * 2.2046
磅 换算 KG -> 磅 / 2.2046
示例 1:
第 1 场:50 公斤
..计算...
字段 2(结果):110.23 磅
然后会有我更改功能的按钮(Google Translate 的按钮每次点击都会更改语言)我点击然后..
例二:
字段 1:100 磅
...计算...
字段 2(结果):45.35
你能看懂我在做什么吗?
function calcPD(){
var pound = document.getElementById("field1").value;
var calc = quilos / 2.2046;
var resul = document.getElementById("pound").value=calcularr.toFixed(2);
}
function calcKg(){
var kg = document.getElementById("field1").value;
var calc = quilo * 2.2046;
var resul = document.getElementById("pound").value=calcular.toFixed(2);
}
funcion invert(){
???
}
听起来您需要使用 innerHtml
。一些基本的伪逻辑给你:
var a = document.getElementById("one").innerHtml;
var b = document.getElementById("two").innerHtml;
document.getElementById("one").innerHtml = b;
document.getElementById("two").innerHtml = a;
我认为您正在寻找的只是一个简单的变量,用于跟踪您所处的 "mode"。我已经为您构建了一个示例来了解它是如何工作的(我使用 bootstrap 使它漂亮,但显然这是可选的):
https://jsfiddle.net/DTcHh/13851/
HTML
<div class="container">
<div class="row">
<div class="col-xs-6">
Input:
<input id="inputNum" class="form-control" type="number"></input>
</div>
<div class="col-xs-6">
Output:
<input id="outputNum" class="form-control" type="text" disabled></input>
</div>
</div>
<span id="modeText">lbs to kg</span>
<button id="switch" class="btn pull-right">Switch</button>
</div>
Javascript
//0 = lbs to kg, 1 = kg to lbs
var mode = 0;
var inputNum = $("#inputNum");
var outputNum = $("#outputNum");
var switchMode = $("#switch");
var modeText = $("#modeText");
var calculateKgs = function() {
outputNum.val(inputNum.val()/2.2046);
};
var calculateLbs = function() {
outputNum.val(inputNum.val()*2.2046);
};
var calculate = function() {
if(mode == 0)
calculateKgs();
else
calculateLbs();
};
inputNum.change(calculate);
inputNum.keyup(calculate);
switchMode.click(function() {
if(mode) {
mode = 0;
modeText.text("lbs to kg");
}
else {
mode = 1;
modeText.text("kg to lbs");
}
calculate();
});
我正在做一些计算,将 KG 转换为磅和磅转换为 KG,然后在输入上写下。但是,我只想用一个按钮来计算!明白了吗?
KG 换算 磅 -> KG * 2.2046
磅 换算 KG -> 磅 / 2.2046
示例 1:
第 1 场:50 公斤
..计算...
字段 2(结果):110.23 磅
然后会有我更改功能的按钮(Google Translate 的按钮每次点击都会更改语言)我点击然后..
例二:
字段 1:100 磅
...计算...
字段 2(结果):45.35
你能看懂我在做什么吗?
function calcPD(){
var pound = document.getElementById("field1").value;
var calc = quilos / 2.2046;
var resul = document.getElementById("pound").value=calcularr.toFixed(2);
}
function calcKg(){
var kg = document.getElementById("field1").value;
var calc = quilo * 2.2046;
var resul = document.getElementById("pound").value=calcular.toFixed(2);
}
funcion invert(){
???
}
听起来您需要使用 innerHtml
。一些基本的伪逻辑给你:
var a = document.getElementById("one").innerHtml;
var b = document.getElementById("two").innerHtml;
document.getElementById("one").innerHtml = b;
document.getElementById("two").innerHtml = a;
我认为您正在寻找的只是一个简单的变量,用于跟踪您所处的 "mode"。我已经为您构建了一个示例来了解它是如何工作的(我使用 bootstrap 使它漂亮,但显然这是可选的):
https://jsfiddle.net/DTcHh/13851/
HTML
<div class="container">
<div class="row">
<div class="col-xs-6">
Input:
<input id="inputNum" class="form-control" type="number"></input>
</div>
<div class="col-xs-6">
Output:
<input id="outputNum" class="form-control" type="text" disabled></input>
</div>
</div>
<span id="modeText">lbs to kg</span>
<button id="switch" class="btn pull-right">Switch</button>
</div>
Javascript
//0 = lbs to kg, 1 = kg to lbs
var mode = 0;
var inputNum = $("#inputNum");
var outputNum = $("#outputNum");
var switchMode = $("#switch");
var modeText = $("#modeText");
var calculateKgs = function() {
outputNum.val(inputNum.val()/2.2046);
};
var calculateLbs = function() {
outputNum.val(inputNum.val()*2.2046);
};
var calculate = function() {
if(mode == 0)
calculateKgs();
else
calculateLbs();
};
inputNum.change(calculate);
inputNum.keyup(calculate);
switchMode.click(function() {
if(mode) {
mode = 0;
modeText.text("lbs to kg");
}
else {
mode = 1;
modeText.text("kg to lbs");
}
calculate();
});