H5+JS+相对单位rem实现第三方支付页(输入金额+模拟数字键盘+自适应布局+大写金额)
来源:互联网 发布:搜索文件软件 编辑:程序博客网 时间:2024/06/09 23:19
最近做了个第三方支付页,H5+JS+相对单位rem实现(输入金额+模拟数字键盘+自适应布局+大写金额)。
全部源码地址:https://github.com/XieTongXue/pay
限于篇幅,以下只给出部分关键代码(需要完整源码请到以上git地址下载):
①键盘点击处理:
<script type="text/javascript">$(function(){$(".payinfo").slideDown();var $paymoney = $("#paymoney");// 大写金额var upperCaseMoney = $('.upper-case span');$("#paymoney").focus(function(){$(".payinfo").slideDown(); document.activeElement.blur();});$(".paynum").each(function(){$(this).click(function(){if(($paymoney.text()).indexOf(".") != -1 && ($paymoney.text()).substring(($paymoney.text()).indexOf(".") + 1, ($paymoney.text()).length).length == 2){return;}if($.trim($paymoney.text()) == "0"){return;}if (parseInt($paymoney.text()) > 10000 && $paymoney.text().indexOf(".") == -1) {return;}$('.pay').removeClass('pay-disabled').find('a').attr('href','pay-result.html');$paymoney.text($paymoney.text() + $(this).text());upperCaseMoney.text(digitUppercase($paymoney.text()));});});$("#pay-return").click(function(){$paymoney.text(($paymoney.text()).substring(0, ($paymoney.text()).length - 1));upperCaseMoney.text(digitUppercase($paymoney.text()));if (!$paymoney.text()) {upperCaseMoney.text('');$('.pay').addClass('pay-disabled').find('a').attr('href', 'javascript:return false;');}});$("#pay-zero").click(function(){if(($paymoney.text()).indexOf(".") != -1 && ($paymoney.text()).substring(($paymoney.text()).indexOf(".") + 1, ($paymoney.text()).length).length == 2){return;}if($.trim($paymoney.text()) == "0"){return;}if (parseInt($paymoney.text()) > 10000 && $paymoney.text().indexOf(".") == -1) {return;}$paymoney.text($paymoney.text() + $(this).text());});$("#pay-float").click(function(){if($.trim($paymoney.text()) == ""){return;}if(($paymoney.text()).indexOf(".") != -1){return;}if(($paymoney.text()).indexOf(".") != -1){return;}$paymoney.text($paymoney.text() + $(this).text());});if (!$paymoney.text()) {$('.pay').addClass('pay-disabled');}});</script>
②:金额转大写处理:
<script>var digitUppercase = function(n) {var fraction = ['角', '分'];var digit = ['零', '壹', '贰', '叁', '肆','伍', '陆', '柒', '捌', '玖'];var unit = [['元', '万', '亿'],['', '拾', '佰', '仟']];var head = n < 0 ? '欠' : '';n = Math.abs(n);var s = '';for (var i = 0; i < fraction.length; i++) {s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');}s = s || '整';n = Math.floor(n);for (var i = 0; i < unit[0].length && n > 0; i++) {var p = '';for (var j = 0; j < unit[1].length && n > 0; j++) {p = digit[n % 10] + unit[1][j] + p;n = Math.floor(n / 10);}s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;}return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');};</script>
③:自适应布局(css也要相应设置,具体可参考本人另外一篇博客:JavaScript结合相对单位rem实现自适应布局)
<script>(function () {var designW = 750; //设计稿宽var font_rate = 100;//适配document.getElementsByTagName("html")[0].style.fontSize = document.body.offsetWidth / designW * font_rate + "px";document.getElementsByTagName("body")[0].style.fontSize = document.body.offsetWidth / designW * font_rate + "px";//监测窗口大小变化window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function () {document.getElementsByTagName("html")[0].style.fontSize = document.body.offsetWidth / designW * font_rate + "px";document.getElementsByTagName("body")[0].style.fontSize = document.body.offsetWidth / designW * font_rate + "px";}, false);})();</script>兼容各种个手机屏幕,运行结果:
阅读全文
0 0
- H5+JS+相对单位rem实现第三方支付页(输入金额+模拟数字键盘+自适应布局+大写金额)
- JS实现数字金额转换为大写金额
- 使用rem单位实现布局自适应
- js金额转大写
- js实现金额汉字大写转换
- js实现金额的大写转小写
- ,输入小写金额,输出大写金额
- ,输入小写金额,输出大写金额!
- js 小写金额转大写金额
- java实现小写金额转换大写金额
- JS金额小写转大写
- JS金额小写转大写
- js小写金额转为大写
- js 金额小写转大写
- js数字金额大写转换
- JS金额小写转大写
- js金额数字转大写
- js小写金额转换大写
- input file图片上传并回显
- 如何在VS2013+QT5.3环境下使用自定义信号与槽函数
- 个人总结42
- 链队列(C语言实现)学习记录
- 设计模式--简单工厂
- H5+JS+相对单位rem实现第三方支付页(输入金额+模拟数字键盘+自适应布局+大写金额)
- 最大子段-n个数求和最大且连续的子段-最简单的一维dp,动态规划入门教程,包听懂
- Headfile !头文件的原理与实践编写。 摘自外网 -learn.cpp.com
- C#语言的正则表达式(Regex)详解
- 文章标题
- 第一次写博文
- 数据结构与算法 学习摘要
- 博客小程序
- Quartz的具体实现