Mr__Zhang___ 2022-03-26 21:56
浏览 56
已结题

Web前端制作模拟京东快递单号查询案例

本人一直在跟进哔哩哔哩pink的学习视频,遇到了一个模拟京东快递单号查询的案例,写完之后发现与原案例有点差别,但pink也没有教,自己绞尽脑汁,冥思苦想终不得其解,于是乎只能提问请教,希望可以补充解决一下,阿里嘎多。

原案例图:

img


连接:https://www.baidu.com/s?word=%E4%BA%AC%E4%B8%9C%E7%89%A9%E6%B5%81&tn=68018901_10_oem_dg
已知bug:
1:输入的内容如果超出文本框,文本框不会自动加长(详细可以与原案例对比)
2:在解决 问题1 的情况下如果长按任意键3秒会出现内容超出文本框(详细可以与原案例对比)
3:输入的内容如果超出文本框,删除时文本框不会自动减短(详细可以与原案例对比)
4:在解决 1,2,3 后,如果输入的是非数字型(如+/*-)内容,在加减内容是文本框的长度会出现问题(详细可以与原案例对比)
暂时只发现这些bug,反正要跟原案例一样
代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>模拟京东快递单号查询</title>
        <!-- 
            1、快递单号输入内容时,上面的大号字体盒子(con)显示(这里面的字号更大)。
            2、表单检测用户输入: 给表单添加键盘事件。
            3、同时把快递单号里面的值 (value)获取过来赋值给con盒子(innerHtml)做为内容。
            4、如果快递单号里面内容为空,则隐藏大号字体盒了(con)盒子。
         -->
    </head>
    <style type="text/css">
        #express_query {
            position: relative;
            width: 500px;
            margin: 50px auto;
            text-align: center;
            background-color: #FAFAFA;
        }
        input {
            height: 25px;
            margin-left: 15px;
        }
        #express_number {
            margin-top: 20px;
            text-indent: 4px;
        }
        .con {
            display: none;
            position: absolute;
            top: 0px;
            right: 129px;
            width: 161px;
            height: 33px;
            border: 1px solid #ccc;
            background-color: #fff;
            box-shadow: 3px 3px 10px;
            font-size: 18px;
            line-height: 33px;
        }
        .con::after {
            content: '';
            position: absolute;
            top: 26px;
            left: 25px;
            width: 15px;
            height: 15px;
            /* border: solid;
            border-color: #fff transparent transparent;
            border-width: 15px 10px 10px 10px; */
            background-color: #fff;
            border: 1px solid #ccc;
            border-top: none;
            border-right: none;
            transform: rotate(-45deg);
        }
    </style>
    <body>
        <div id="express_query">
            公司名称<input type="text" name="" id=""/><br/>
            <div class="con"></div>
            快递单号<input type="text" name="" id="express_number" placeholder="请输入您的快递单号"/>
        </div>
    </body>
    <script type="text/javascript">
        var express_number = document.querySelector('#express_number');
        var con = document.querySelector('.con');
        express_number.addEventListener('keyup',function(e) {
            if (express_number.value == '') {
                con.style.display = 'none';
            } else {
                con.style.display = 'block';
                con.innerHTML = express_number.value;
            }
        });
        express_number.addEventListener('focus',function() {
            if (express_number.value !== '') {
                con.style.display = 'block';
            }
        });
        express_number.addEventListener('blur',function() {
            con.style.display = 'none';
        });
    </script>
</html>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月3日
    • 创建了问题 3月26日

    悬赏问题

    • ¥15 不知道是该怎么引用多个函数片段
    • ¥15 pip install后修改模块路径,import失败,需要在哪里修改环境变量?
    • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
    • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
    • ¥50 vue组件中无法正确接收并处理axios请求
    • ¥15 隐藏系统界面pdf的打印、下载按钮
    • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
    • ¥15 基于pso参数优化的LightGBM分类模型
    • ¥15 安装Paddleocr时报错无法解决
    • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline