国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現(xiàn)仿微信支付彈窗功能

2019-11-19 13:36:47
字體:
供稿:網(wǎng)友

先奉上效果圖

html代碼

<!DOCTYPE html> <html>   <head>     <title>仿手機微信支付輸入密碼界面效果</title>     <meta charset="utf-8" />     <meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=no" />     <link rel="stylesheet" type="text/css" href="css/rest.css" rel="external nofollow" />   </head>   <body>     <!-- 打開彈窗按鈕 -->     <button id="myBtn">去支付</button>     <!-- 彈窗 -->     <div id="myModal" class="modal">       <!-- 彈窗內(nèi)容 -->       <div class="modal-content">         <div class="paymentArea">           <div class="paymentArea-Entry">             <div class="paymentArea-Entry-Head">               <img src="images/xx_03.jpg" class="close" />               <img src="images/jftc_03.png" class="useImg">               <span class="tips-txt">請輸入支付密碼</span>             </div>             <div class="paymentArea-Entry-Content">               <div class="pay-name">測試商品</div>               <div class="pay-price">¥88.88</div>             </div>             <ul class="paymentArea-Entry-Row"></ul>           </div>           <div class="paymentArea-Keyboard">             <h4>               <img src="images/jftc_14.jpg" height="10" />             </h4>             <ul class="target">               <li>                 <a>1</a>                 <a>2</a>                 <a>3</a>               </li>               <li>                 <a>4</a>                 <a>5</a>                 <a>6</a>               </li>               <li>                 <a>7</a>                 <a>8</a>                 <a>9</a>               </li>               <li>                 <a>清空</a>                 <a> 0 </a>                 <a>刪除</a>               </li>             </ul>           </div>         </div>       </div>     </div>   </body> </html> 

css

body {         margin: 0;         padding: 0;         font-size: 0.3rem;         font-family: "微軟雅黑", arial;       }       ul,       li {         margin: 0;         padding: 0;         list-style: none;       }       img {         display: block;       }       #myBtn {         display: block;         width: 80%;         height: auto;         margin: 5rem auto;         padding: 0.2rem;         border-radius: 5px;         border: 0;         outline: none;         font-family: "微軟雅黑";         color: #fff;         background-color: #5CB85C;       }       /* 彈窗 */       .modal {         display: none;         /* 默認(rèn)隱藏 */         position: fixed;         z-index: 1;         left: 0;         top: 0;         width: 100%;         height: 100%;         overflow: auto;         background-color: rgb(0, 0, 0);         background-color: rgba(0, 0, 0, 0.4);         -webkit-animation-name: fadeIn;         -webkit-animation-duration: 0.4s;         animation-name: fadeIn;         animation-duration: 0.4s       }       /* 彈窗內(nèi)容 */       .modal-content {         position: fixed;         bottom: 0;         /*background-color: #fefefe;*/         width: 100%;         -webkit-animation-name: slideIn;         -webkit-animation-duration: 0.4s;         animation-name: slideIn;         animation-duration: 0.4s       }       /**        * 支付彈窗樣式        * **/       .paymentArea-Entry {         width: 90%;         margin: 0 auto;         padding-bottom: 0.3rem;         background-color: #fff;       }       .paymentArea-Entry-Head {         display: flex;         display: -webkit-flex;         height: 0.8rem;         line-height: 0.8rem;         padding: 0.2rem;         border-bottom: 1px solid #5CB85C;       }       /* 關(guān)閉按鈕 */       .paymentArea-Entry-Head .close {         width: 0.5rem;         height: 0.5rem;         padding: 0.15rem 0.15rem 0.15rem 0;       }       .paymentArea-Entry-Head .close:hover,       .paymentArea-Entry-Head .close:focus {         color: #000;         text-decoration: none;         cursor: pointer;       }       .paymentArea-Entry-Head .useImg {         width: 0.8rem;         height: 0.8rem;         margin-right: 0.15rem;       }       .paymentArea-Entry-Head .tips-txt {         font-size: 0.4rem;       }       .paymentArea-Entry-Content {         position: relative;         padding: 0.2rem 0;         text-align: center;       }       .paymentArea-Entry-Content:after {         content: "";         position: absolute;         bottom: 0;         left: 0.3rem;         right: 0.3rem;         height: 1px;         background-color: #ddd;       }       .paymentArea-Entry-Content .pay-name {         font-size: 0.3rem;       }       .paymentArea-Entry-Content .pay-price {         font-size: 0.4rem;         font-weight: bold;       }       ul.paymentArea-Entry-Row {         display: flex;         display: -webkit-flex;         justify-content: space-between;         margin: 0.2rem 0.3rem 0 0.3rem;         padding: 0;         border: 1px solid #a2a2a2;       }       ul.paymentArea-Entry-Row li {         position: relative;         flex-grow: 1;         min-width: 1rem;         height: 0.8rem;         line-height: 0.8rem;         text-align: center;         border-right: 1px solid #ddd;       }       ul.paymentArea-Entry-Row li:last-child {         border-right: 0;       }       ul.paymentArea-Entry-Row li img {         position: absolute;         top: 50%;         left: 50%;         width: 0.5rem;         height: 0.5rem;         margin: -0.25rem 0 0 -0.25rem;       }       .paymentArea-Keyboard {         margin-top: 1.2rem;         background-color: #fff;       }       .paymentArea-Keyboard h4 {         height: 0.5rem;         line-height: 0.5rem;         margin: 0;         text-align: center;       }       .paymentArea-Keyboard h4 img {         width: 0.93rem;         height: 0.32rem;         margin: 0 auto;       }       .paymentArea-Keyboard h4:active {         background-color: #e3e3e3;       }       .paymentArea-Keyboard ul {         border-top: 1px solid #ddd;       }       .paymentArea-Keyboard li {         display: flex;         display: -webkit-flex;         justify-content: space-between;         border-bottom: 1px solid #ddd;       }       .paymentArea-Keyboard li a {         flex-grow: 1;         display: block;         min-width: 1rem;         line-height: 1rem;         border-right: 1px solid #ddd;         font-size: 0.3rem;         text-align: center;         text-decoration: none;         color: #000;       }       .paymentArea-Keyboard li:last-child,       .paymentArea-Keyboard li a:last-child {         border: 0;       }       .paymentArea-Keyboard li a:active {         outline: none;         background-color: #ddd;       }       /* 添加動畫 */       @-webkit-keyframes slideIn {         from {           bottom: -300px;           opacity: 0         }         to {           bottom: 0;           opacity: 1         }       }       @keyframes slideIn {         from {           bottom: -300px;           opacity: 0         }         to {           bottom: 0;           opacity: 1         }       }       @-webkit-keyframes fadeIn {         from {           opacity: 0         }         to {           opacity: 1         }       }       @keyframes fadeIn {         from {           opacity: 0         }         to {           opacity: 1         }       } 

js

//定義根目錄字體大小,通過rem實現(xiàn)適配       document.addEventListener("DOMContentLoaded", function() {         var html = document.documentElement;         var windowWidth = html.clientWidth;         //console.log(windowWidth)         html.style.fontSize = windowWidth / 7.5 + "px";       }, false);       // 獲取彈窗       var modal = document.getElementById('myModal');       // 打開彈窗的按鈕對象       var btn = document.getElementById("myBtn");       // 獲取 <span> 元素,用于關(guān)閉彈窗 that closes the modal       var span = document.getElementsByClassName("close")[0];       /*創(chuàng)建密碼輸入框*/       var entryArea = document.querySelector(".paymentArea-Entry-Row");       for(var i = 0; i < 6; i++) {         var li = document.createElement("li");         entryArea.appendChild(li);       }       /*鍵盤操作*/       var doms = document.querySelectorAll('ul li a');       var entryLis = document.querySelectorAll(".paymentArea-Entry-Row li");       var pwds = ""; //存儲密碼       var count = 0; //記錄點擊次數(shù)       for(var i = 0; i < doms.length; i++) {         ! function(dom, index) {           dom.addEventListener('click', function() {             var txt = this.innerHTML;             switch(txt) {               case "清空":                 if(count != 0) {                   for(var i = 0; i < entryLis.length; i++) {                     entryLis[i].innerHTML = "";                   }                   pwds = "";                   count = 0;                   console.log(pwds)                   console.log(count)                 }                 break;               case "刪除":                 if(count != 0) {                   console.log(pwds)                   entryLis[count - 1].innerHTML = "";                   pwds = pwds.substring(0, pwds.length - 1);                   count--;                   console.log(pwds)                   console.log(count)                 }                 break;               default:                 /*通過判斷點擊次數(shù) 向輸入框填充內(nèi)容*/                 if(count < 6) {                   /*創(chuàng)建一個圖片對象 插入到方框中*/                   var img = new Image();                   img.src = "images/dd_03.jpg";                   entryLis[count].appendChild(img);                   /*為存儲密碼的對象賦值*/                   if(pwds == "") {                     pwds = txt;                   } else {                     pwds += txt;                   }                   count++;                   if(pwds.length == 6) {                     location.;                   }                 } else {                   return;                   alert("超出限制")                 }             }           });         }(doms[i], i);       }       // 點擊按鈕打開彈窗       btn.onclick = function() {         modal.style.display = "block";       }       // 點擊 <span> (x), 關(guān)閉彈窗       span.onclick = function() {         modal.style.display = "none";         if(count != 0) {           for(var i = 0; i < entryLis.length; i++) {             entryLis[i].innerHTML = "";           }           pwds = "";           count = 0;         }       }       // 在用戶點擊其他地方時,關(guān)閉彈窗       window.onclick = function(event) {         if(event.target == modal) {           modal.style.display = "none";           if(count != 0) {           for(var i = 0; i < entryLis.length; i++) {             entryLis[i].innerHTML = "";           }           pwds = "";           count = 0;         }         }       }       /*開關(guān)鍵盤*/       var openKey = document.querySelector(".paymentArea-Entry-Row");       var switchOfKey = document.querySelector(".paymentArea-Keyboard h4");       switchOfKey.addEventListener('click', function() {         var KeyboardH = document.querySelector(".paymentArea-Keyboard").clientHeight;         document.querySelector(".paymentArea-Keyboard").style.height = KeyboardH + "px";         document.querySelector(".paymentArea-Keyboard").style.backgroundColor = "transparent";         document.querySelector(".paymentArea-Keyboard h4").style.display = "none";         document.querySelector(".paymentArea-Keyboard ul").style.display = "none";       })       openKey.addEventListener('click', function() {         document.querySelector(".paymentArea-Keyboard").style.backgroundColor = "#fff";         document.querySelector(".paymentArea-Keyboard h4").style.display = "block";         document.querySelector(".paymentArea-Keyboard ul").style.display = "block";       }) 

總結(jié)

以上所述是小編給大家介紹的JS實現(xiàn)仿微信支付彈窗功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 余江县| 邵东县| 阿拉尔市| 海宁市| 宁安市| 叙永县| 怀柔区| 湟源县| 深州市| 恩施市| 长垣县| 仙居县| 唐海县| 南江县| 永定县| 宁明县| 鸡东县| 稻城县| 香港| 军事| 宜丰县| 思茅市| 长子县| 枣庄市| 湖南省| 教育| 隆昌县| 丹江口市| 莎车县| 侯马市| 天峨县| 社会| 虞城县| 灵寿县| 平顶山市| 文成县| 尚义县| 新疆| 昌平区| 轮台县| 阳东县|