zoukankan      html  css  js  c++  java
  • JS自定义随机数字键盘

    <!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>
    

      

  • 相关阅读:
    VS Code 使用笔记
    Haskell语言开发工具
    Haskell语言学习笔记(81)Data.Typeable
    Haskell语言学习笔记(80)req
    Haskell语言学习笔记(79)lambda演算
    Haskell语言学习笔记(78)fix
    2733: [HNOI2012]永无乡
    牛课练习赛17
    bzoj3758. 数数
    【BZOJ1786】[Ahoi2008]Pair 配对
  • 原文地址:https://www.cnblogs.com/guoziyi/p/11724483.html
Copyright © 2011-2022 走看看