HTML5移动端页面中价格键盘怎么制作
Admin 2022-07-18 群英技术资讯 495 次浏览
简单实现移动端输入价格键盘
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:
.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:
<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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了html5写一个BUI折叠菜单插件的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了css中间自适应布局的5种解法详解的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
css如何实现自定义的属性:1、定义一个自定义属性需要使用--开始,然后属性值需要是一个有效的CSS值。2、css变量的属性名大小写敏感。3、使用自定义属性,需要在var()函数中使用。
这篇文章主要介绍了Canvas波浪花环的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
CSS元素居中有多少方法?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008