Efecto de visualización de zoom del cuadro de entrada de JavaScript

Reclamación:

Cuando el usuario ingresa contenido en el cuadro de entrada, se conmuestra el cuadro de fuente grande de arriba (el tamaño de fuente es mayor)
Inserte la descripción de la imagen aquí

Ideas de realización:

  1. Entrada de usuario de detección de formulario: agregue eventos de teclado al formulario
  2. Al mismo tiempo, obtenga el valor en el número de mensajería valuey asígnelo al concuadro innerTextcomo contenido.
  3. Si el contenido del número de mensajería está vacío, oculte el concuadro de fuente grande

Código:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
     
     
            margin: 0;
            padding: 0;
        }
        
        .search {
     
     
            position: relative;
            width: 178px;
            margin: 100px;
        }
        
        .con {
     
     
            display: none;
            position: absolute;
            top: -40px;
            width: 171px;
            border: 1px solid rgba(0, 0, 0, .2);
            box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
            padding: 5px 0;
            font-size: 18px;
            line-height: 20px;
            color: #333;
        }
        
        .con::before {
     
     
            content: '';
            width: 0;
            height: 0;
            position: absolute;
            top: 28px;
            left: 18px;
            border: 8px solid #000;
            border-style: solid dashed dashed;
            border-color: #fff transparent transparent;
        }
    </style>
</head>

<body>
    <div class="search">
        <div class="con">123</div>
        <input type="text" placeholder="请输入您的快递单号" class="jd">
    </div>
    <script>
        var con = document.querySelector('.con');
        var jd_input = document.querySelector('.jd');
        jd_input.addEventListener('keyup', function() {
     
     
            if (this.value == '') {
     
     
                con.style.display = 'none';
            } else {
     
     
                con.style.display = 'block';
                con.innerText = this.value;
            }
        });
        // 当失去焦点,就隐藏这个con盒子
        jd_input.addEventListener('blur', function() {
     
     
            con.style.display = 'none';
        });
        // 当获得焦点,就显示这个con盒子
        jd_input.addEventListener('focus', function() {
     
     
            if (this.value !== '') {
     
     
                con.style.display = 'block';
            }
        });
    </script>
</body>

</html>

Supongo que te gusta

Origin blog.csdn.net/Jack_lzx/article/details/109270215
Recomendado
Clasificación