最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript仿支付寶密碼輸入框

 更新時(shí)間:2015年12月29日 09:17:41   作者:F-happy  
那么今天我就用JavaScript代碼來(lái)實(shí)現(xiàn)這個(gè)效果吧,那么首先介紹一下整個(gè)的思路,首先我們先將確定輸入密碼的位數(shù),我的需求是5位,那么就用一個(gè)div標(biāo)簽包住5個(gè)input標(biāo)簽

現(xiàn)在很多時(shí)候大家付款的場(chǎng)景都是在手機(jī)上面,而隨著H5頁(yè)面的開(kāi)發(fā)變得越來(lái)越方便,很多場(chǎng)景也從客戶端搬到了瀏覽器中,其中支付這個(gè)場(chǎng)景就很自然的被放在了瀏覽器中。那么這樣的輸入框大家一定不會(huì)陌生吧:

那么今天我就用JavaScript代碼來(lái)實(shí)現(xiàn)這個(gè)效果吧,那么首先介紹一下整個(gè)的思路,首先我們先將確定輸入密碼的位數(shù),我的需求是5位,那么就用一個(gè)div標(biāo)簽包住5個(gè)input標(biāo)簽。

并且給這個(gè)5個(gè)input設(shè)置display: inline-block 屬性,同時(shí)用<!- ->來(lái)消除元素直接的margin值,那么HTML就是如下的樣子:

<div class="input"> 
<input type="tel" placeholder="隨" maxlength=""><!- 
-><input type="tel" placeholder="機(jī)" maxlength=""><!- 
-><input type="tel" placeholder="" maxlength=""><!- 
-><input type="tel" placeholder="位" maxlength=""><!- 
-><input type="tel" placeholder="數(shù)" maxlength=""> 
</div> 

在代碼中我們需要設(shè)置最多輸入的位數(shù),不然就不像了嘛~當(dāng)然為了在移動(dòng)端輸入的時(shí)候能喚起數(shù)字鍵盤來(lái),我們也需要設(shè)置type="tel"。那么接下來(lái)就是CSS樣式的代碼了,這里我就簡(jiǎn)單的貼出一些代碼,具體高仿的像不像其實(shí)就是這里了~

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(,,,); 
} 
}

那么接下來(lái)就是最關(guān)鍵的JavaScript部分了,

/** 
* 模擬支付寶的密碼輸入形式 
*/ 
(function (window, document) { 
var active = , 
inputBtn = document.querySelectorAll('input'); 
for (var i = ; i < inputBtn.length; i++) { 
inputBtn[i].addEventListener('click', function () { 
inputBtn[active].focus(); 
}, false); 
inputBtn[i].addEventListener('focus', function () { 
this.addEventListener('keyup', listenKeyUp, false); 
}, false); 
inputBtn[i].addEventListener('blur', function () { 
this.removeEventListener('keyup', listenKeyUp, false); 
}, false); 
} 
/** 
* 監(jiān)聽(tīng)鍵盤的敲擊事件 
*/ 
function listenKeyUp() { 
var beginBtn = document.querySelector('#beginBtn'); 
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 == 'begin-no' && !isNaN(_value) && _value.length != ) { 
beginBtn.className = 'begin'; 
beginBtn.addEventListener('click', function () { 
calculate.begin(); 
}, false); 
} 
} else { 
if (beginBtn.className == 'begin') { 
beginBtn.className = 'begin-no'; 
} 
} 
} 
})(window, document); 

首先我們對(duì)最外層的div進(jìn)行監(jiān)聽(tīng),當(dāng)發(fā)現(xiàn)用戶選擇div的時(shí)候就將input的焦點(diǎn)設(shè)置到active上面去,而這個(gè)active則是一個(gè)計(jì)數(shù)器,默認(rèn)的時(shí)候是第一位的,也就是0,而當(dāng)我們輸入了正確的數(shù)字后將會(huì)增加一個(gè)active,這樣input的焦點(diǎn)就會(huì)向后移動(dòng)了,這樣就完成了輸入一個(gè)向后移動(dòng)一位的功能了,而同時(shí)我們監(jiān)聽(tīng)鍵盤上的退格鍵,當(dāng)用戶點(diǎn)擊了退格鍵之后就對(duì)active減一,這樣輸入框的焦點(diǎn)也就向前移動(dòng)了,當(dāng)然,當(dāng)input失去焦點(diǎn)的時(shí)候我們也同時(shí)移除綁定在上面的監(jiān)聽(tīng)事件,這樣就不會(huì)造成多次觸發(fā)的問(wèn)題了。

其實(shí)這樣梳理下來(lái)會(huì)發(fā)現(xiàn)整個(gè)效果還是很簡(jiǎn)單的,只需要控制好一個(gè)焦點(diǎn)的移動(dòng)就好了,而我覺(jué)得整個(gè)組件的重點(diǎn)還是在CSS樣式的模仿上面~畢竟JavaScript的邏輯沒(méi)有什么難的~最后祝大家元旦快樂(lè)啦~(*^__^*) ~~

以上代碼給大家簡(jiǎn)單介紹了JavaScript仿支付寶密碼輸入框的全部敘述,希望大家喜歡。

相關(guān)文章

  • firefox下對(duì)ajax的onreadystatechange的支持情況分析

    firefox下對(duì)ajax的onreadystatechange的支持情況分析

    firefox下對(duì)ajax的onreadystatechange的支持分析。用的到的朋友可以參考下。
    2009-12-12
  • Maps Javascript

    Maps Javascript

    Maps Javascript...
    2007-01-01
  • 跨瀏覽器通用、可重用的選項(xiàng)卡tab切換js代碼

    跨瀏覽器通用、可重用的選項(xiàng)卡tab切換js代碼

    今天一同學(xué)對(duì)我說(shuō)“好吧,我準(zhǔn)備去學(xué)習(xí)”,我大驚,這老勾引我打dota的也去學(xué)習(xí),于是我好奇他學(xué)什么,他說(shuō)要搞一個(gè)選項(xiàng)卡切換js
    2011-09-09
  • Javascript base64編碼實(shí)現(xiàn)代碼

    Javascript base64編碼實(shí)現(xiàn)代碼

    Javascript base64編碼實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2011-12-12
  • 一文詳解JavaScript的轉(zhuǎn)碼方式

    一文詳解JavaScript的轉(zhuǎn)碼方式

    JavaScript 轉(zhuǎn)碼是指將 JavaScript 代碼從一種編碼方式轉(zhuǎn)換為另一種編碼方式,常見(jiàn)的轉(zhuǎn)碼方式包括 URL 編碼和 Base64 編碼,解碼是前端比較常見(jiàn)的一種操作,本文就給大家講講JavaScript轉(zhuǎn)碼方式
    2023-09-09
  • bootstrap動(dòng)態(tài)調(diào)用select下拉框的實(shí)例代碼

    bootstrap動(dòng)態(tài)調(diào)用select下拉框的實(shí)例代碼

    今天小編就為大家分享一篇bootstrap動(dòng)態(tài)調(diào)用select下拉框的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • JS禁止瀏覽器右鍵查看元素或按F12審查元素自動(dòng)關(guān)閉頁(yè)面示例代碼

    JS禁止瀏覽器右鍵查看元素或按F12審查元素自動(dòng)關(guān)閉頁(yè)面示例代碼

    這篇文章主要給大家介紹了關(guān)于利用Javascript如何禁止瀏覽器右鍵查看元素,或者通過(guò)按F12審查元素,觸犯這兩個(gè)條件會(huì)自動(dòng)并關(guān)閉頁(yè)面的相關(guān)資料,通過(guò)設(shè)置這個(gè)可以防止別人扒下自己的網(wǎng)頁(yè),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-09-09
  • 一篇文中告訴你JS中的"值傳遞"和"引用傳遞"

    一篇文中告訴你JS中的"值傳遞"和"引用傳遞"

    在JavaScript中,可以通過(guò)值和引用傳遞,兩者之間的主要區(qū)別是,按值傳遞發(fā)生在賦值基本類型的時(shí)候,而賦值對(duì)象時(shí)按引用傳遞,下面這篇文章主要給大家介紹了關(guān)于JS中"值傳遞"和"引用傳遞"的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 一段非常簡(jiǎn)單的js判斷瀏覽器的內(nèi)核

    一段非常簡(jiǎn)單的js判斷瀏覽器的內(nèi)核

    先說(shuō)明,此處的方法是說(shuō)超級(jí)簡(jiǎn)單的方法,不是指代碼超級(jí)少,而是用非常簡(jiǎn)單的知識(shí)點(diǎn),只要懂得怎么寫(xiě)JavaScript的行內(nèi)樣式就可以判斷。
    2014-08-08
  • Javascript 事件流和事件綁定

    Javascript 事件流和事件綁定

    本文中的部分觀點(diǎn)參考至《Javascript高級(jí)程序設(shè)計(jì)》(很好的一本書(shū),推薦大家看看?。?,addEvent函數(shù)借鑒了YUI2.7的_addListener方法,這里也要謝謝YUI那些牛人,向他們致敬!
    2009-07-07

最新評(píng)論

浦江县| 句容市| 汉沽区| 定西市| 汉源县| 永康市| 琼海市| 长寿区| 承德县| 永清县| 奇台县| 崇义县| 枞阳县| 新密市| 天门市| 绍兴市| 凉城县| 吉隆县| 皋兰县| 桑日县| 九龙坡区| 泽库县| 曲松县| 长沙市| 突泉县| 黎平县| 资溪县| 东辽县| 同德县| 东海县| 清涧县| 兴文县| 三河市| 长兴县| 天水市| 北海市| 马边| 鲁甸县| 鄂托克前旗| 同心县| 抚州市|