JavaScript小案例-仿登陆框案例

6 篇文章 1 订阅
6 篇文章 0 订阅

JavaScript小案例-仿登陆框案例

重点:oninput事件:输入文本就会触发

  • 特点:

未输入时,右侧出现小蓝图标

输入后,不满6个字符,出现红色提示图标

输入后,满6个字符,出现绿色图标

效果

Snipaste_2022-06-16_19-42-02

Snipaste_2022-06-16_19-42-10

Snipaste_2022-06-16_19-41-14

用到精灵图一张,大家网上随便找找就有了。算了,还是给你吧。

1

目录结构

Snipaste_2022-06-16_19-46-29

代码

  • css
<style>
    body {
      background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
    }

    .text {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 400px;
      height: 300px;
      margin: 200px auto;
      text-align: center;
      border: 1px solid red;
    }

    .text input {
      color: #ccc;
    }

    span {
      display: block;
      width: 20px;
      height: 20px;
      outline: none;

      background-image: url(./img/1.jpg);
      background-position: 5px 3px;
    }
  </style>
  • html
<body>
  <div class="text">
    用户名:<input type="text" value="请输入用户名">
    <span></span>
  </div>
</body>
  • JavaScript
<script>
  /**
   * 案例描述:
   * 
   * */

  var ipt = document.querySelector("input")
  var span = document.querySelector("span")
  console.log(ipt);
  console.log(span);



  ipt.onfocus = function () {
    ipt.value = ""
    ipt.style.color = "#000"
  }

  ipt.oninput = function () {
    var leg = ipt.value.length
    if (leg < 6) {
      span.style.backgroundPosition = "-55px 3px"
    } else if (leg >= 6) {
      span.style.backgroundPosition = "-25px 3px"
    }
  }


  ipt.onblur = function () {
    ipt.value = "请输入用户名"
    ipt.style.color = "#ccc"
    span.style.backgroundPosition = "5px 3px"
  }



</script>

注意oninput用法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抗争的小青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值