Rumah > hujung hadapan web > tutorial js > Kemahiran input box_javascript kata laluan Alipay tiruan JavaScript

Kemahiran input box_javascript kata laluan Alipay tiruan JavaScript

不言
Lepaskan: 2018-05-18 14:56:08
asal
2708 orang telah melayarinya

Pada masa kini, banyak senario pembayaran dilakukan pada telefon mudah alih Memandangkan pembangunan halaman H5 menjadi lebih mudah, banyak senario juga telah dipindahkan dari pelanggan ke penyemak imbas, dan senario pembayaran diletakkan di dalamnya pelayar. Jadi anda pasti akan biasa dengan kotak input seperti itu:

Jadi hari ini saya akan menggunakan kod JavaScript untuk mencapai kesan ini. Jadi pertama sekali, izinkan saya memperkenalkan keseluruhannya idea. , mula-mula kita akan tentukan bilangan digit untuk memasukkan kata laluan Keperluan saya ialah 5 digit, kemudian gunakan tag p untuk membungkus 5 tag input.

Dan tetapkan paparan: atribut blok sebaris untuk 5 input ini, dan gunakan untuk menghapuskan nilai margin langsung elemen, maka HTML akan kelihatan seperti berikut :

<p class="input"> 
<input type="tel" placeholder="随" maxlength=""><!- 
-><input type="tel" placeholder="机" maxlength=""><!- 
-><input type="tel" placeholder="" maxlength=""><!- 
-><input type="tel" placeholder="位" maxlength=""><!- 
-><input type="tel" placeholder="数" maxlength=""> 
</p>
Salin selepas log masuk

Dalam kod, kita perlu menetapkan bilangan maksimum digit input, jika tidak, ia tidak akan kelihatan seperti itu~ Sudah tentu, untuk membangkitkan papan kekunci angka apabila memasukkan pada terminal mudah alih, kita juga perlu menetapkan type="tel". Kemudian langkah seterusnya ialah kod gaya CSS Di sini saya hanya akan menyiarkan beberapa kod Replika khusus ada di sini~

input { 
display: inline-block; 
&:last-child { 
border-right: px solid #; 
} 
input { 
border-top: px solid #; 
border-bottom: px solid #; 
border-left: px solid #; 
width: px; 
height: px; 
outline:none; 
font-family: inherit; 
font-size: px; 
font-weight: inherit; 
text-align: center; 
line-height: px; 
color: #ccc; 
background: rgba(,,,); 
} 
}
Salin selepas log masuk

Kemudian langkah seterusnya ialah bahagian JavaScript yang paling kritikal >

Mula-mula kami memantau p paling luar Apabila kami mendapati bahawa pengguna memilih p, kami menetapkan fokus input kepada aktif, dan aktif ini secara lalai Apabila kami memasukkan nombor yang betul, ia akan masuk tempat pertama, iaitu 0. Apabila kita memasukkan nombor yang betul, aktif akan ditambah, supaya fokus input akan bergerak ke belakang, sekali gus melengkapkan fungsi memasukkan nombor dan mengalihkannya ke belakang satu kedudukan , dan di pada masa yang sama kita memantau kekunci ruang belakang pada papan kekunci Apabila pengguna mengklik kekunci ruang belakang, yang aktif dikurangkan dengan satu, supaya fokus kotak input bergerak ke hadapan peristiwa mendengar terikat kepadanya supaya ia tidak akan menyebabkan pelbagai masalah pencetus.
/** 
* 模拟支付宝的密码输入形式 
*/ 
(function (window, document) { 
var active = , 
inputBtn = document.querySelectorAll(&#39;input&#39;); 
for (var i = ; i < inputBtn.length; i++) { 
inputBtn[i].addEventListener(&#39;click&#39;, function () { 
inputBtn[active].focus(); 
}, false); 
inputBtn[i].addEventListener(&#39;focus&#39;, function () { 
this.addEventListener(&#39;keyup&#39;, listenKeyUp, false); 
}, false); 
inputBtn[i].addEventListener(&#39;blur&#39;, function () { 
this.removeEventListener(&#39;keyup&#39;, listenKeyUp, false); 
}, false); 
} 
/** 
* 监听键盘的敲击事件 
*/ 
function listenKeyUp() { 
var beginBtn = document.querySelector(&#39;#beginBtn&#39;); 
if (!isNaN(this.value) && this.value.length != ) { 
if (active < ) { 
active += ; 
} 
inputBtn[active].focus(); 
} else if (this.value.length == ) { 
if (active > ) { 
active -= ; 
} 
inputBtn[active].focus(); 
} 
if (active >= ) { 
var _value = inputBtn[active].value; 
if (beginBtn.className == &#39;begin-no&#39; && !isNaN(_value) && _value.length != ) { 
beginBtn.className = &#39;begin&#39;; 
beginBtn.addEventListener(&#39;click&#39;, function () { 
calculate.begin(); 
}, false); 
} 
} else { 
if (beginBtn.className == &#39;begin&#39;) { 
beginBtn.className = &#39;begin-no&#39;; 
} 
} 
} 
})(window, document);
Salin selepas log masuk


Sebenarnya, jika anda menyusunnya seperti ini, anda akan mendapati bahawa keseluruhan kesannya masih sangat mudah Anda hanya perlu mengawal pergerakan fokus, dan saya fikir fokus keseluruhan komponen masih meniru gaya CSS ~ Lagipun Tiada apa-apa yang sukar tentang logik JavaScript ~ Akhir sekali, saya mengucapkan selamat Tahun Baru kepada semua orang ~ (*^__^*) ~~


Kod di atas secara ringkas memperkenalkan keseluruhan perihalan kotak input kata laluan Alipay tiruan JavaScript Harap anda semua menyukainya.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan