<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      微信小程序之自定義驗證碼or密碼輸入框

      業務場景:

        小程序中有地方用到需要自定義輸入驗證碼或者密碼的地方,例如:

       

      或者

       

       

      這類場景。

      需求:n個方框為輸入框,框中有光標,且光標隨著輸入字符移動,輸入完成后隱藏輸入框/自動校驗等

      實現:方框用div模擬輸入框,然后一個輸入框覆蓋在方框div上,光標用動畫實現

      偽代碼:

      wxml文件:

      <view class="input">
        <view class="input-item" wx:for="{{4}}" wx:key="index" data-index="{{index}}">
          <view class="input-value">{{password[index]}}</view>
          <view class="focus {{index === focusIndex ? 'show': 'hide'}}"></view>
       </view>
       <input class="input-password" maxlength="4" bindinput="setValue" bindblur="inputBlur" type="number" focus="{{focus}}"></input>
      </view>

      js文件:

      Component({
        /**
         * 組件的初始數據
         */
        data: {
          focusIndex: 0, // 光標所在位置
          value: '', // 實際輸入的值
          focus: true, // 是否獲得焦點
          password: '', //替換顯示的值*
        },
        /**
         * 組件的方法列表
         */
        methods: {
          setValue (e) {
            // 設置光標
            var value = e.detail.value
            this.setData({
              value: value,
              focusIndex: value.length,
              focus: value.length < 4,
              password: '*'.repeat(value.length)
            })
          },
          inputBlur (e) {
            if (e.detail.value.length === 4) {
              this.triggerEvent('complated', {
                value: e.detail.value
              })
            }
          }
        }
      })

      wxss文件:

      .input {
        margin-top: 70rpx;
        padding: 0 60rpx;
        position: relative;
      }
      .input-item {
        position: relative;
        display: inline-block;
        width: 90rpx;
        height: 90rpx;
        border-bottom: 2rpx solid #333;
      }
      .input-item:not(:first-child) {
        margin-left: 26.67rpx;
      }
      .input-value {
        display: inline-block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        font-size: 28rpx;
      }
      .input-password {
        position: absolute;
        left: -360rpx;
        top: 0;
        height: 90rpx;
        width: 880rpx;
        opacity: 0;
      }
      .focus {
        width: 2rpx;
        height: 50rpx;
        background-color: #333;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
      }
      .show {
        display: block;
        animation: blink 1s linear infinite;
      }
      .hide {
        display: none;
      }
      
      @keyframes blink {
        0%, 50% {
          opacity: 1;
        }
      
        50.01%, to {
          opacity: 0;
        }
      }

      大致這樣,password可以做明文替換為*

       騷操作就是將input定位在自定義div上面,并且將input的寬度拉大,然后向左移動整個模擬div的寬度,隱藏掉它。

      posted on 2020-04-15 11:21  薛將軍  閱讀(3265)  評論(1)    收藏  舉報

      導航

      主站蜘蛛池模板: 蜜臀精品一区二区三区四区| 欧美牲交a欧美牲交aⅴ图片| 中文字幕亚洲综合小综合| 亚洲永久精品日本久精品| 4hu四虎永久在线观看| 莒南县| 国产精品久久久久鬼色| 97色成人综合网站| 亚洲中文字幕第一页在线| 亚洲av永久无码精品网站| 日本中文字幕乱码免费| 真人性囗交视频| 狠狠躁天天躁中文字幕无码| 色猫咪av在线观看| 国内视频偷拍久久伊人网| 极品少妇的粉嫩小泬视频| 无码人妻斩一区二区三区| 99久久激情国产精品| 97久久久亚洲综合久久| 亚洲中文字幕国产综合| 在线看无码的免费网站| 伊人天天久大香线蕉av色| 欧美国产日韩在线三区| 国产呻吟久久久久久久92| 国产卡一卡二卡三免费入口| 国产亚洲精品第一综合另类| A级毛片无码久久精品免费| 日韩有码中文在线观看| 青青草国产精品一区二区| 无码人妻aⅴ一区二区三区蜜桃| 亚洲精品乱码久久久久久按摩高清 | 岳普湖县| 亚洲国产成人午夜在线一区 | 公天天吃我奶躁我的在线观看| 加勒比无码人妻东京热| 日本a在线播放| 精品天堂色吊丝一区二区| 欧美午夜理伦三级在线观看| 亚洲一二三区精品美妇| 少妇激情一区二区三区视频 | 亚洲国产精品自在拍在线播放蜜臀 |