h5自己做數字鍵盤

整個部分就寫了一個函數

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<style>

</style>

</head>

<body>

<script>

function miniNumberKeyboard (callback) {

var div = document.createElement('div');

div.id = 'div'

document.body.appendChild(div);

div.style.backgroundColor = '#3d414d';

div.style.width = '500px';

div.style.height = '340px';

div.style.borderRadius = '15px';

div.style.position = 'relative';

 

var inputBox = document.createElement('div');

inputBox.style.backgroundColor = '#353945';

document.body.appendChild(inputBox);

inputBox.id = 'inputBox';

inputBox.innerHTML = '';

inputBox.style.position = 'absolute';

inputBox.style.top = '35px';

inputBox.style.left = '55px';

inputBox.style.width = '392px';

inputBox.style.height = '45px';

inputBox.style.lineHeight = '45px';

inputBox.style.fontSize = '20px';

inputBox.style.color = '#f7fcff';

inputBox.style.paddingLeft = '8px';

 

//刪除 確認 取消

var cancel = document.createElement('div');

cancel.id = 'cancel';

cancel.innerHTML = '取消';

document.body.appendChild(cancel);

cancel.style.color = '#f7fcff';

cancel.style.position = 'absolute';

cancel.style.top = '95px';

cancel.style.left = '110px';

cancel.style.backgroundColor = '#454955';

cancel.style.width = '40px';

cancel.style.height = '35px';

cancel.style.lineHeight = '35px';

cancel.style.textAlign = 'center';

var del = document.createElement('div');

del.innerHTML = '刪除';

del.id = 'del';

document.body.appendChild(del);

del.style.color = '#f7fcff';

del.style.position = 'absolute';

del.style.top = '95px';

del.style.left = '57px';

del.style.backgroundColor = '#454955';

del.style.width = '40px';

del.style.height = '35px';

del.style.lineHeight = '35px';

del.style.textAlign = 'center';

var trueBtn = document.createElement('div');

document.body.appendChild(trueBtn);

trueBtn.id = 'trueBtn';

trueBtn.innerHTML = '確認';

trueBtn.style.color = '#f7fcff';

trueBtn.style.position = 'absolute';

trueBtn.style.top = '95px';

trueBtn.style.left = '384px';

trueBtn.style.width = '70px';

trueBtn.style.height = '35px';

trueBtn.style.backgroundColor = '#454955';

trueBtn.style.lineHeight = '35px';

trueBtn.style.textAlign = 'center';


 

var number = document.createElement('div');

number.style.width = '425px';

number.style.height = '190px';

number.style.position = 'absolute';

number.style.top = '143px';

number.style.left = '58px';

// number.style.backgroundColor = '#fff';

number.id = 'number';

document.body.appendChild(number);

var Box = document.getElementById('number');

for (var i = 0; i < 10; i++) {

var numberBox = document.createElement('div');

numberBox.innerHTML = i;

numberBox.id = i;

numberBox.className = 'numberkey color';

numberBox.style.width = '80px';

numberBox.style.height = '45px';

numberBox.style.backgroundColor = '#454955';

numberBox.style.cssFloat = 'left';

numberBox.style.marginRight = '25px';

numberBox.style.marginTop = '15px';

numberBox.style.lineHeight = '40px';

numberBox.style.textAlign = 'center';

numberBox.style.fontSize = '25px';

numberBox.style.color = '#f7fcff';

Box.appendChild(numberBox);

document.getElementById('0').onclick = function cc() {

if (document.getElementById('inputBox').innerHTML == '0') {

document.getElementById('0').onclick = null;

document.getElementById('0').onclick = cc;

} else if (document.getElementById('inputBox').innerHTML.substr(0,1) == '.') {

var zeroArray = inputBox.innerHTML.split('');

var value = zeroArray.shift();

var newSrt = document.getElementById('0').innerHTML + zeroArray.join('');

document.getElementById('inputBox').innerHTML = newSrt;

} else {

document.getElementById('inputBox').innerHTML = document.getElementById('inputBox').innerHTML + numberBox[0].innerHTML;

}

}

};

//正負號

var minus = document.createElement('div');

minus.className = 'color';

minus.id = 'minus';

minus.style.width = '80px';

minus.style.height = '45px';

minus.innerHTML = '-/+';

minus.style.backgroundColor = '#454955';

minus.style.marginTop = '135px';

minus.style.marginLeft = '210px';

minus.style.fontSize = '35px';

minus.style.lineHeight = '45px';

minus.style.textAlign = 'center';

minus.style.color = '#f7fcff';

minus.style.fontSize = '22px';

Box.appendChild(minus);

document.getElementById('minus').onclick = function aa() {

if ( document.getElementById('inputBox').innerHTML == '0') {

document.getElementById('minus').onclick = null;

document.getElementById('minus').onclick = aa;

} else if (document.getElementById('inputBox').innerHTML.indexOf('-') != -1) {

document.getElementById('inputBox').innerHTML = document.getElementById('inputBox').innerHTML.split('').join('').replace('-','');

} else {

var showArr = document.getElementById('inputBox').innerHTML.split('')

showArr.unshift('-');

var newString = showArr.join('');

document.getElementById('inputBox').innerHTML = newString;

}

}


 

//小數點

var point = document.createElement('div');

point.className = 'color';

point.id = 'point';

point.style.width = '80px';

point.style.height = '45px';

point.innerHTML = '.';

point.style.backgroundColor = '#454955';

point.style.marginTop = '-45px';

point.style.marginLeft = '315px';

point.style.fontSize = '35px';

point.style.lineHeight = '25px';

point.style.textAlign = 'center';

point.style.color = '#f7fcff';

Box.appendChild(point);

document.getElementById('point').onclick = function bb () {

if(document.getElementById('inputBox').innerHTML.indexOf('.') != -1) {

document.getElementById('point').onclick = null;

document.getElementById('point').onclick = bb;

} else {

var newInnerHTML = document.getElementById('inputBox').innerHTML.split('');

newInnerHTML.push(point.innerHTML)

var pushNew = newInnerHTML.join('');

document.getElementById('inputBox').innerHTML = pushNew;

}

}

 

//input框展示內容

var numberBox = document.querySelectorAll('.numberkey');

for (let i = 1; i < numberBox.length; i++) {

numberBox[i].onclick = function () {

var inputInHTML = document.getElementById('inputBox').innerHTML;

var newHTML = inputInHTML + numberBox[i].innerHTML;

inputBox.innerHTML = newHTML;

if (newHTML.substr(0,1) == '0' && newHTML.indexOf('.') == -1 || newHTML.substr(0,1) == '.') {

var array = inputBox.innerHTML.split('');

var value = array.shift();

var newSrt = array.join('')

document.getElementById('inputBox').innerHTML = newSrt;

}

}

}

//取消按鈕的功能

document.getElementById('cancel').onclick = function () {

document.body.removeChild(document.getElementById('div'));

document.body.removeChild(document.getElementById('inputBox'));

document.body.removeChild(document.getElementById('del'));

document.body.removeChild(document.getElementById('trueBtn'));

document.body.removeChild(document.getElementById('number'));

document.body.removeChild(document.getElementById('cancel'));

}

//取消按鈕的移入移出

var cancelBtn = document.getElementById('cancel');

cancelBtn.onmouseover = function over () {

cancelBtn.style.backgroundColor = '#e75e61';

}

cancelBtn.onmouseout = function out() {

cancelBtn.style.backgroundColor = '#454955';

}

//刪除按鈕

document.getElementById('del').onclick = function () {

var length = document.getElementById('inputBox').innerHTML.length;

inputBox.innerHTML = inputBox.innerHTML.substr(0, length - 1);

}

//刪除按鈕移入移出

var delBtn = document.getElementById('del');

delBtn.onmouseover = function over () {

delBtn.style.backgroundColor = '#e75e61';

}

delBtn.onmouseout = function out () {

delBtn.style.backgroundColor = '#454955';

}

//確定按鈕

document.getElementById('trueBtn').onclick = function () {

callback(document.getElementById('inputBox').innerHTML);

document.body.removeChild(document.getElementById('div'));

document.body.removeChild(document.getElementById('inputBox'));

document.body.removeChild(document.getElementById('del'));

document.body.removeChild(document.getElementById('trueBtn'));

document.body.removeChild(document.getElementById('number'));

document.body.removeChild(document.getElementById('cancel'));

}

//確認按鈕移入移出

var trueBtn = document.getElementById('trueBtn');

trueBtn.onmouseover = function over () {

trueBtn.style.backgroundColor = '#39bdb5';

}

trueBtn.onmouseout = function out () {

trueBtn.style.backgroundColor = '#454955';

}


 

//按鈕移入樣式

var mouseColor = document.querySelectorAll('.color');

for (let i = 0; i < mouseColor.length; i++) {

mouseColor[i].onmouseover = function () {

mouseColor[i].style.backgroundColor = '#fec107';

};

mouseColor[i].onmouseout = function () {

mouseColor[i].style.backgroundColor = '#454955';

}

}

};

 

miniNumberKeyboard(callback);

 

function callback (LastNumber) {

console.log(LastNumber)

}

</script>

</body>

</html>

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