利用JavaScript模拟京东快递单号查询效果

1、上面放大框开始是隐藏的,当输入单号后,就显示,并且里面的内容是输入框的内容的字体的放大

<!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>
        table {
            margin: 20px;
            border: none
        }

        p {
            font-size: 15px;
        }

        input {
            height: 15px
        }

        button {
            background-color: rgb(77, 132, 233);
            border: none;
        }

        a {
            text-decoration: none;
            color: white;
            font-size: 15px;
        }

        div {
            font-size: 25px;
            width: 100px;
            height: auto;
            border: 1px solid black;
            display: none;
            position: absolute;
            top: 0px
        }
    </style>
</head>

<body>

    <table>
        <tr>
            <td>
                <p>快递单号</p>
            </td>
            <td> <input type="text" placeholder="请输入您的快递单号"></td>
            <td> <button><a href="">查询</a></button></td>
        </tr>
    </table>
    <div></div>

    <script>
        //当开始在输入框中键入内容的时候,div模块就开始显示,里面的内容是input里面的内容,但字体变大
        var input = document.querySelector('input')
        var div = document.querySelector('div')
        input.addEventListener('keyup', function() {
            if (input.value != '') {
                div.style.display = 'block'
                div.innerHTML = input.value
            } else {
                div.style.display = 'none'
                div.innerHTML = ''
            }
        })
    </script>
</body>

</html>

问题:

1、上面放大框的效果怎么做,倒三角虽然可以使用border来完成,但是效果会有颜色的填充

2、当输入框输入的文字较多的时候,怎么自动的改变上面放大框的高度和宽度

        .con::before {
            content: '';
            height: 0;
            height: 0;
            position: absolute;
            top: 28px;
            left: 18px;
            border: 8px solid #000;
            border-style: solid dashed dashed;
            border-color: #fff transparent transparent
        }
<!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>
        .search {
            position: relative;
            width: 178px;
            margin: 100px
        }

        .con {
            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;
            display: none;
        }

        .con::before {
            content: '';
            height: 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"></div>
        <input type="text" placeholder="请输入您的快递单号" class="jd">
    </div>

    <script>
        //当开始在输入框中键入内容的时候,div模块就开始显示,里面的内容是input里面的内容,但字体变大
        var jd = document.querySelector('.jd')
        var con = document.querySelector('.con')
        jd.addEventListener('keyup', function() { //要区分keyup、keydown、keypress之间的区别
            if (jd.value != '') {
                con.style.display = 'block'
                con.innerHTML = jd.value
            } else {
                con.style.display = 'none'
                con.innerHTML = ''
            }
        })
    </script>
</body>

</html>

如果换成keydown或者keypress来注册事件的话,会少一个字,这是因为文字还没有落入文本框的时候,就以及触发了事件,但此时里面的内容还是空的,因此上面的文本框是不显示的。第二次按下的时候,立刻触发事件,此时字并没有进入盒子,盒子里面留下的只有前一个字。

注意区别

keypress更加不行,因为对于功能键是没有效果的。

4、当失去焦点的时候,就隐藏con。得到焦点就显示(onfocus、onblur)

    <script>
        //当开始在输入框中键入内容的时候,div模块就开始显示,里面的内容是input里面的内容,但字体变大
        var jd = document.querySelector('.jd')
        var con = document.querySelector('.con')
        jd.addEventListener('keyup', function() { //要区分keyup、keydown、keypress之间的区别
            if (jd.value != '') {
                con.style.display = 'block'
                con.innerHTML = jd.value
            } else {
                con.style.display = 'none'
                con.innerHTML = ''
            }
        })
        jd.addEventListener('focus', function() {
            if (jd.value != '') {
                con.style.display = 'block'
            }
        })
        jd.addEventListener('blur', function() {
            con.style.display = ''
        })
    </script>

以上就是利用JavaScript模拟京东快递单号查询效果的详细内容,更多关于JavaScript快递单号查询的资料请关注我们其它相关文章!

(0)

相关推荐

  • JavaScript实现京东快递单号查询

    JavaScript网页制作–京东快递单号查询,供大家参考,具体内容如下 上篇讲到了京东网页的一个可能不被大多数人熟知的小功能,S键自动获得焦点,相比于那个功能,这个快递单号查询的功能可能更明了一点,虽然我也觉得很鸡肋.在网页搜索京东快递单号查询后,会出现这样的一个功能,当你在快递单号栏输入快递单号的时候,上方会出现一个较大的文本框,用较大的字体显示出你输入的快递单号.(虽然我觉得字号也没有差很多) 功能实现: 1.在输入快递单号的时候,上方出现一个盒子,这个盒子的字号更大. 2.表单检测用户输

  • JS模拟实现京东快递单号查询

    本文实例为大家分享了JS实现京东快递单号查询的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta h

  • javascript实现京东快递单号的查询效果

    案例:模拟京东快递单号的查询效果,供大家参考,具体内容如下 要求:当我们在文本框中输入内容时,文本框上面自动显示大字号的内容 分析: 输入内容时,上面的大盒子会自动显示出来(这里字号更大) 表单检测用户输入,给表单添加键盘事件 同时把快递单号里面的值(value)获取过来复制给大盒子作为内容 如果快递单号里面内容为空,就隐藏大盒子 当失去焦点,大盒子也隐藏 注意:keydown 和 keypress 在文本框里面的特点 : 他们两个事件触发的时候,文字还没有落入文本框中,keyup 事件触发的时

  • 利用JavaScript模拟京东快递单号查询效果

    1.上面放大框开始是隐藏的,当输入单号后,就显示,并且里面的内容是输入框的内容的字体的放大 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="vi

  • js实现京东快递单号查询

    本文实例为大家分享了js实现京东快递单号查询的具体代码,供大家参考,具体内容如下 1.实现效果: 当文本框中输入文字时,上面有一个放大文字的框中显示文本框内容.失去焦点时,放大文字的框消失,获得焦点时,放大文字的框显示. 2.案例分析 3.代码实现 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta http-e

  • php快递单号查询接口使用示例

    通过本接口可以查询圆通快递.申通快递.ems快递.韵达快递等快递单号查询信息,无需其他额外开发,非常方便首先到www.aikuaidi.cn上注册个账号,使用key! 复制代码 代码如下: <?php/** * 查询物流信息 */define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); if ($id = intval($_REQUEST['id'])) {    $sql_select = 'SELEC

  • Android实现快递单号查询快递状态信息

    今天介绍一个自己做的快递单号查询的简单APP,供大家参考.由于需要使用http和json,本文在build.gradle(module:app)添加了okhttp3依赖和gson依赖. dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group:

  • mpvue实现微信小程序快递单号查询代码

    mpvue是什么? mpvue 是一套定位于开发小程序的前端开发框架,其核心目标是提高开发效率,增强开发体验.使用该框架,开发者只需初步了解小程序开发规范.熟悉 Vue.js 基本语法即可上手.框架提供了完整的 Vue.js 开发体验,开发者编写 Vue.js 代码,mpvue 将其解析转换为小程序并确保其正确运行.此外,框架还通过 vue-cli 工具向开发者提供 quick start 示例代码,开发者只需执行一条简单命令,即可获得可运行的项目. mpvue简介点击查看:http://mpv

  • 利用JavaScript模拟京东按键输入功能

    在看到这个功能的时候我也很惊讶,京东竟然做了这样的一个功能.在京东商城网页版,无论你在什么位置,只需要按下S键,就可以将光标定位到搜索栏进行搜索.虽然说这是一个很不错的功能,但是貌似没有几个人知道. 程序实现很简单,在s键上升的时候搜索框获得焦点就可以了. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name=&q

  • Python实现轻松识别数百个快递单号

    目录 前情提要 思考解决办法 遍历图片 识别条形码 小结 大家好,我是小五 这是Python改变生活系列的第三篇,也是一个与你们有关的问题案例. 前情提要 了解我的小伙伴可能都知道,小五经常给大家送书.最近一年,不算联合抽奖送书,单独我自购+出版社赞助已送出1000本书籍. 如果是自购的话,还需要自己联系快速小哥寄出书籍. 寄出后快递小哥会给我截图来反馈,然而我想要单号的时候就遇到问题了. 每次寄完书,我都只能得到n个截图(内含快递信息). 为了及时反馈大家物流信息,我需要尽快将快递单号提取出来

随机推荐