1. 程式人生 > >小程式實現6位數密碼框

小程式實現6位數密碼框

閒著蛋疼,於是學習開發微信小程式,打算寫一個面殺自動法官得小程式,方便和朋友出去面殺,該案例不具備一定的嚴謹性,畢竟此時我才學了2天的小程式,瑟瑟發抖

需求如下:需要輸入房間號,才能進入遊戲房間,類似6尾數密碼框
大致思路:最原本的想法是擼6個文字框,輸入完1個自動focus下一個,發現特麼的鍵盤彈起、收回、彈起、收回,體驗非常糟糕,於是新增一個隱藏的input,其餘6個文字框全部disabled,只負責展示,當用戶習慣性的點選6個虛假的文字框中的任意一個,觸發聚焦,聚焦到隱藏在暗處得文字框,再講隱藏在暗處的文字框中的value渲染到6個假的文字框中,Done!!!

<view class
='container'>
<view class='render-wrap'> <block wx:for='{{dataSource}}' wx:key='this'> <input type='number' class='render-input' bindtap='onTapFocus' type='{{showType}}' disabled value='{{item.initValue}}'></input> </block> <input type='number' maxlength
='6' focus='{{isFocus}}' class='hidden-input' bindinput='mobileInput'>
</input> </view> </view>
Page({

  /**
   * 頁面的初始資料
   */
  data: {
  	//使用者輸入明文、暗文
    showType:'number',//如果是密碼換成'password'
    isFocus: false,
    //預設四位,手動copy兩個json,正常密碼框是6位
    dataSource: [{
      initValue: ''
}, { initValue: '' }, { initValue: '' }, { initValue: '' }] }, /** * 使用者tap假的Input,focus到隱藏的input */ onTapFocus: function() { this.setData({ isFocus: true }); }, /** * 移動端鍵入 * 注意:在pc端無法顯示鍵盤,移動端下編譯、預覽正常 */ mobileInput: function(e) { let dataSource = this.data.dataSource; let curInpArr = e.detail.value.split(''); let curInpArrLength = curInpArr.length; if (curInpArr.length != this.data.dataSource.length) for (let i = 0; i < dataSource.length - curInpArrLength; i++) curInpArr.push(''); for (let i = 0; i < this.data.dataSource.length; i++) { let initValue = 'dataSource[' + i + '].initValue'; this.setData({ [initValue]: curInpArr[i] }); } }, })
.render-wrap{
  display: flex;
  flex-direction: row;
}
.render-input{
  width: 100rpx;
  height: 100rpx;
  border:1rpx solid #eee;
  border-left: none;
  box-sizing: border-box;
  text-align: center;
}

.render-input:first-child{
  border-left: 1rpx solid #eee;
}

.hidden-input{
  width: 0;
  height: 0;
}

相關推薦

程式實現6位數密碼

閒著蛋疼,於是學習開發微信小程式,打算寫一個面殺自動法官得小程式,方便和朋友出去面殺,該案例不具備一定的嚴謹性,畢竟此時我才學了2天的小程式,瑟瑟發抖 需求如下:需要輸入房間號,才能進入遊戲房間,類似6尾數密碼框 大致思路:最原本的想法是擼6個文字框,輸入完1

6位數密碼輸入

rem font box put check radius png log popu 6位數密碼輸入框 不管是PC端還是移動端,經常會有這樣的,密碼輸入框 這裏采取。6個li占位,上面覆蓋一個 input輸入框 <article class="pwd-

程式實現【倒計時計時器,最後十秒只顯示一位數並且加入放大動畫效果】

效果:js:var that // 用來實現最後十秒強調的動畫 var animation = wx.createAnimation({ duration: 300, timingFunction: 'ease', }) /** * [倒計時函式,最後十秒只顯示

微信程式 實現城市名稱拼音搜尋 漢字/拼音(城市區縣定位模組)

~ 文末展示專案更新哦 ~ 要實現的效果展示如下 總體思路: 首先,資料中,城市物件裡,包含其全拼、簡拼的屬性; 然後,邏輯層,找出 能與 輸入框輸入的字串 相匹配的 物件; 最後,展示層,把所有匹配的城市名都渲染出來。 接下來,我們按步驟來一窺

[程式] 實現點選空白處隱藏評論輸入

首先在頁面底部定義一個輸入區域 , 通過自定義boolean型別變數isInput來控制評論區是否顯示 , 預設不顯示. <view class='inputArea' hidden='{{!isInput}}'> <input class

SSH通過“運維密碼程式實現 SSH 雙因子認證

一、什麼是雙因子認證 GitHub:https://github.com/LCTT/WeApp-Password 雙因子認證(即 2FA),是一種通過組合兩種不同的驗證方式進行使用者身份驗證的機制。 在這種多重認證的系統中,使用者需要通過兩種不同的認證程式: (1)提供他們知道的資訊(如

程式實現 點選加入購物車 紅點拋物線飄入

1:實現效果;   2:index.wxss //只寫紅點樣式 .good_box { width: 30rpx; height: 30rpx; position: fixed; border-radius: 50%; overflow: hidden

程式 - 實現滾動文字

小程式 - 實現滾動文字 截圖: index.wxml 檔案 <!--index.wxml--> <swiper class="swiper_container" vertical="true" autoplay="true" circular="true" interva

程式 - 實現【一鍵複製】功能

小程式 - 實現【一鍵複製】功能 為啥想起使用【一鍵複製】功能?因為個人小程式裡,不許加外連結,很是頭疼,就想到一鍵複製連結,這是我剛寫的一個減一的小程式: 使用【一鍵複製】: wxml 檔案: <view> 官網:<text selectable='true' bin

微信程式實現與後臺PHP互動

微信小程式實現與後臺PHP互動 接下來將講後臺如何與前臺進行資料及圖片之間的互動,相信這一點是很多人所關注的,因為當時我實在團隊中負責後臺開發,因此對前端不是特別瞭解,這裡我會貼出前端開發時的部分程式碼截圖,微信小程式的官方api介紹地址是:   https://mp.weix

程式實現星級打分

效果圖 wxml <view > <block wx:for="{{stars}}"> <image class="star-image" style="left: {{item*100}}rpx" src="{{key > item

程式實現上拉載入,例項程式碼

小程式實現上拉載入,例項程式碼 最近在做一個小程式,想實現下拉重新整理的功能,剛開始就遇到了一個尷尬的問題,原因是不認真o(╥﹏╥)o 下面是通過摸索總結出的步驟,給尋找問題的同伴提供參考: 下拉重新整理分為全域性和單頁面的: 全域性的設定就是在 app.js 中的 Windows

微信程式+python3.6+Django2.0後端+後臺----玉米都督

最近有個做微信小程式的需求. 而本人學習的是python3.6   和django2.0   所以決定用django來搭建服務端和後臺 宣告:   微信小程式是商城類的,微信支付啥功能都要有     

微信程式實現倒計時計時器

微信小程式驗證碼倒計時*秒 var timer = setInterval(function () { lastTime--; that.setData({ codeText:

微信程式實現驗證碼倒計時效果

效果圖 wxml <input class='input-pwd' placeholder="新密碼" placeholder-style='color: #000' password focus bindconfirm='getPwd'/> <input class='i

程式實現多圖上傳、預覽

wxml <view class="weui-cell"> <view class="weui-cell__bd"> <view class="weui-uploader"> <view class="weui-uploader__hd

程式實現跑馬燈效果

跑馬燈效果比較常見,一般做電商類的小程式都會使用到; 跑馬燈效果的製作 製作方式很簡單,先方上程式碼,後面會對程式碼詳細講解 一、wxml介面的實現 <view class="example"> <view class="marquee_box">

微信程式實現星星評價效果

程式碼實現 wxml檔案 ? 1 2 3

微信程式實現點贊、取消點贊功能

最近接觸到小程式,發現很有意思,在專案中遇到了一點小問題,就是點贊+取消點贊有些衝突,還有就是多項的點選,話不多說咱們直接上程式碼! 效果圖 wxml ? 1

微信程式實現模組

.container{ background-color: white; margin: 10rpx 20rpx 10rpx 20rpx; -moz-box-shadow: 2rpx 2rpx 5rpx #969696; -webkit-box-shadow: 2rpx 2rpx 5