html代码
<div class="demo"> <h2>各进制转换</h2> <label for="">2进制:</label><input type="text" /><br> <label for="">8进制:</label><input type="text" /><br> <label for="">10进制:</label><input type="text" /><br> <label for="">16进制:</label><input type="text" disabled/><br> <label for="">32进制:</label><input type="text" disabled/><br> <button type="button">重置</button> </div>
js代码
function change() {
var div = document.getElementsByClassName(“demo”)[1];
var inputs = div.getElementsByTagName(“input”);
var button = div.getElementsByTagName(“button”)[0];
button.onclick = function() {
change();
}
for (var i = 0; i < inputs.length; i++) {
inputs[i].setAttribute(“set”, i);
inputs[i].value = 0;
inputs[i].onblur = function() {
var num = parseInt(this.getAttribute(“set”));
var basic = 0;
switch (num) {
case 0:
basic = 2;
break;
case 1:
basic = 8;
break;
case 2:
basic = 10;
break;
case 3:
basic = 16;
break;
case 4:
basic = 32;
break;
}
var value = parseInt(this.value);
inputs[0].value = change(value, basic, 2);
inputs[1].value = change(value, basic, 8);
inputs[2].value = change(value, basic, 10);
inputs[3].value = change(value, basic, 16);
inputs[4].value = change(value, basic, 32);
}
//核心方法
function change(value, basic, target) {
var temp = parseInt(value, basic);
temp = temp.toString(target);
return temp;
}
}
}
效果如图: