JS基础-显示隐藏文本框内容

布局思路:左边的按钮采用的是绝对定位,中间文本框采用的是flex布局,给它设置flex:1就可以了,然后外面的大盒子用的CSS3盒子模型,这样给边框的时候就不会影响盒子的大小。

功能介绍:当文本框获得焦点的时候,判断里面的文字是不是“手机”,如果是手机则清除文本框中内容,如果是用户输入的其他内容则不清除,同时需要改变里面的文字为更深的颜色;当文本框失去焦点的时候,如果用户没有输入内容则将内容还原为“手机”,同时需要改变里面的文字颜色为起始颜色。

代码:

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            box-sizing: border-box;
            display: flex;
            position: relative;
            width: 400px;
            height: 40px;
            margin: 100px auto;
            border: 2px solid #5187ef;
        }
        
        .box input[type=button] {
            width: 100px;
            height: 100%;
            border: 0;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #5187ef;
            color: #fff;
            font-size: 16px;
        }
        
        .box input[type=text] {
            flex: 1;
            outline: none;
            color: #ccc;
            font-size: 14px;
            border: 0;
            text-indent: .5em;
        }
    </style>
</head>

<body>
    <div class="box">
        <input type="text" value="手机" id="inputs">
        <input type="button" value="搜索">
    </div>
    <script>
        var inputs = document.getElementById('inputs');
        //获得焦点
        inputs.onfocus = function() {
                // 判断用户是否输入了内容,如果输入了内容就不删除
                if (inputs.value === "手机") {
                    inputs.value = "";
                }
                // 改变文字颜色
                inputs.style.color = "#1e1e1e";
            }
            // 失去焦点
        inputs.onblur = function() {
            // 判断用户是否输入了内容,没有输入就还原成手机
            if (inputs.value === "") {
                inputs.value = "手机"
            }
            // 失去焦点后把文字颜色还原
            inputs.style.color = "#ccc";
        }
    </script>
</body>

</html>

效果展示:

 获得焦点

 输入内容:

 失去焦点:
 

猜你喜欢

转载自blog.csdn.net/qq_43781887/article/details/124166426