簡單實現移動端輸入價格鍵盤
HTML:html
<div class="main"> <div id="show-price"> </div> <div class="keyboard"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>.</div> <div>0</div> <div>刪除</div> </div> </div>
CSS:jquery
.keyboard { position: fixed; bottom: 0; width: 100%; height: 240px; display: flex; flex-wrap: wrap; } .keyboard div { width: 30%; height: 50px; margin: 5px; text-align: center; line-height: 50px; border-radius: 5px; background: #eee; }
JS:flex
<script src="../js/jquery-3.4.1.min.js"></script> <script> window.onload = function () { let key = $('.keyboard div'); let keyStr = '' key.click(function () { let str = '' let eleStr = $(this).html() == '刪除' ? '' : $(this).html(); // 是否刪除 if(keyStr.length <= 0 && eleStr == '0') return; // 首位不能爲0 keyStr = keyStr + eleStr; // 拼接點擊的數字 if(eleStr == '') keyStr = keyStr.substr(0, keyStr.length - 1); // 刪除 for (let i = 0; i < keyStr.length; i++) { // 遍歷 if (keyStr[i] == '.') { // 判斷是否爲. if (str.indexOf('.') == -1) str = str + keyStr[i]; // 是.而且其中不存在 } else str = str + keyStr[i]; // 不是.就拼接 } showPrice($('#show-price'), str); // 渲染 }) function showPrice(ele, str) { let htmlStr = '' for (let i = 0; i < str.length; i++) { htmlStr = htmlStr + `<span>${str[i]}</span>` } ele.html(htmlStr); } </script>