使用jquery实现类似于移动端支付宝的支付键盘(代码)
本篇文章给大家带来的内容是关于使用jquery实现类似于移动端支付宝的支付键盘,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
最近做项目时碰到一个需求,就是在移动端支付页面点击支付按钮弹出一个支付键盘,类似于支付宝的那种。由于项目只是单纯的手机网站,而并非app,所以这个功能得由前端来实现。话不多说,先上图看看效果。
尼玛,这不就是支付宝app那个支付键盘吗? 没错,咱们UI就是参照支付宝做的这个键盘。你可能会问,为什么不直接调用支付宝提供的支付接口呢。额,因为项目需要,这里就不多解释了。
我们先看一下实现后的效果图
HTML部分
<!-- 支付键盘 --> <divclass="pay-container"> <divclass="pay-title"> <spanclass="pay-title-remove">×</span> 输入支付密码 </div> <divclass="pay-body"> <divclass="input-container"> <inputclass="input-item"type="password"readonly> <inputclass="input-item"type="password"readonly> <inputclass="input-item"type="password"readonly> <inputclass="input-item"type="password"readonly> <inputclass="input-item"type="password"readonly> <inputclass="input-item"type="password"readonly> </div> <divclass="forgetPwd-container"> <aclass="forgetPwd"href="">忘记密码?</a> </div> <divclass="key-container"> <divclass="key-item">1</div> <divclass="key-item">2</div> <divclass="key-item">3</div> <divclass="key-item">4</div> <divclass="key-item">5</div> <divclass="key-item">6</div> <divclass="key-item">7</div> <divclass="key-item">8</div> <divclass="key-item">9</div> <divclass="key-item empty"></div> <divclass="key-item">0</div> <divclass="key-item remove"></div> </div> </div> </div>
CSS部分
.pay-container{ width:7.5rem; height:8rem; background-color:#fbf9fb; position:fixed;z-index:999; overflow:hidden;display:none; } /* .pay-container-show{transform: translate3d(0, -8.9rem, 0);transition: 0.5s ease;transform: translate3d(0, 0, 0); transition: 0.5s ease;} */ .pay-title{ height:0.96rem; line-height:0.96rem; border-bottom:1pxsolid#b3afaf; text-align:center; color:#070707; position:relative; font-size:0.36rem;} .pay-title.pay-title-remove{ width:0.24rem; height:0.24rem; position:absolute; top:0.35rem; left:0.33rem; line-height:0.28rem; font-size:0.45rem;} .pay-body{ padding-top:0.56rem;position:relative; height:7rem; box-sizing:border-box;} .pay-body.input-container{ width:6.74rem; height:0.93rem; border:1pxsolid#ebe8eb; overflow:hidden; border-radius:5px; background-color:#fff; margin:0auto; display:flex;flex-direction:row;align-items:center; flex-wrap:wrap; justify-content:center;align-content:center;} .pay-body.input-container.input-item{ width:1.1rem; height:0.92rem; display:inline-block; margin:0; border-right:1pxsolid#ebe8eb; text-align:center; line-height:0.92rem; border-radius:0; } .pay-body.input-container.input-item:nth-last-child(1){ border-right:0;} .pay-body.forgetPwd-container{width:6.74rem;margin:0.22remauto0; text-align:right;} .pay-body.forgetPwd-container.forgetPwd{ color:#52bfff; font-size:0.24rem; } .pay-body.key-container{ width:100%; height:4.56rem; position:absolute; bottom:0; display:flex;flex-direction:row;align-items:center; flex-wrap:wrap; justify-content:center;align-content:center; } .pay-body.key-container.key-item{ width:2.47rem; height:1.12rem; line-height:1.12rem; text-align:center; border-right:2pxsolid#f3f3f3; border-top:2pxsolid#f3f3f3; font-size:0.66rem; color:#1e1d1f;background-color:#fff;} .pay-body.key-container.key-item:nth-child(3), .pay-body.key-container.key-item:nth-child(6), .pay-body.key-container.key-item:nth-child(9), .pay-body.key-container.key-item:nth-child(12){ border-right:0;} .pay-body.key-container.key-item.remove,.pay-body.key-container.key-item.empty{ font-size:0.24rem;background-color:#e6e9f1;} .pay-body.key-container.key-item.remove{ background:url('../images/pay-remove.png') centerno-repeat#e6e9f1; background-size:.52rem.32rem; } .pay-body.key-container.selected{ background-color:#e4e8f4;}
核心JS部分
var arr = []; var num =0; //响应键盘事件 $('.key-item').on('touchstart', function () { $(this).addClass('selected') }) $('.key-item').on('touchend', function () { $(this).removeClass('selected') }) $('.key-item').on('click', function () { var value =$(this).text(); var inputItem =$('.layui-m-layercont .input-item'); if (!$(this).hasClass('remove')) { if (num <6) { $(inputItem[num]).val(value); if (num ==5) { var arr = []; for (var i =0; i < inputItem.length; i++) { arr.push(inputItem[i].value) } arr =parseInt(arr.join('')); if (arr !==123456) { layer.open({ content:'支付密码错误请重新输入!', skin:'msg', time:2//2秒后自动关闭 }); } else { layer.open({ content:'输入正确!', skin:'msg', time:2//2秒后自动关闭 }); } num++; returnfalse; } num++; } } else { if (num >0) { num--; $(inputItem[num]).val(''); } } })
代码就这么多,也不复杂。可能写的比较粗陋,但是效果能出来。
相关推荐:
Atas ialah kandungan terperinci 使用jquery实现类似于移动端支付宝的支付键盘(代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Sebaik sahaja anda telah menguasai tutorial TypeScript peringkat kemasukan, anda harus dapat menulis kod anda sendiri dalam IDE yang menyokong TypeScript dan menyusunnya ke dalam JavaScript. Tutorial ini akan menyelam ke dalam pelbagai jenis data dalam TypeScript. JavaScript mempunyai tujuh jenis data: null, undefined, boolean, nombor, rentetan, simbol (diperkenalkan oleh ES6) dan objek. Typescript mentakrifkan lebih banyak jenis atas dasar ini, dan tutorial ini akan meliputi semuanya secara terperinci. Jenis data null Seperti JavaScript, Null dalam TypeScript

JavaScript boleh dijalankan di PowerPoint, dan boleh dilaksanakan dengan memanggil fail JavaScript luaran atau membenamkan fail HTML melalui VBA. 1. Untuk menggunakan VBA untuk memanggil fail JavaScript, anda perlu mendayakan makro dan mempunyai pengetahuan pengaturcaraan VBA. 2. Benamkan fail HTML yang mengandungi JavaScript, yang mudah dan mudah digunakan tetapi tertakluk kepada sekatan keselamatan. Kelebihan termasuk fungsi lanjutan dan fleksibiliti, sementara kelemahan melibatkan keselamatan, keserasian dan kerumitan. Dalam praktiknya, perhatian harus dibayar kepada keselamatan, keserasian, prestasi dan pengalaman pengguna.
