• js小项目:显示与输入的内容相关的


    1,添加键盘抬起事件

    2,获取文本框的内容,是否与数组中的内容匹配

    3,创建元素

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        #box {
           450px;
          margin: 200px auto;
        }
    
        #txt {
           350px;
        }
    
        #pop {
           350px;
          border: 1px solid red;
        }
    
        #pop ul {
          margin: 10px;
          padding: 0px;
           200px;
          list-style-type: none;
    
        }
    
        #pop ul li {
    
        }
        ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }
      </style>
    </head>
    <body>
    
    <div id="box">
      <input type="text" id="txt" value="">
      <input type="button" value="搜索" id="btn">
    </div>
    
    <script>
        var keyWords = ['iphonex', '华为p20pro', '小米8', '华为nova3', '小辣椒', 'iphonexr', 'iphone8', '小米max3']
        // div
        var box = document.getElementById('box');
        // 文本框
        var txt = document.getElementById('txt');
        
        // 命名函数
        function fn() {
            // 判断有没有ul元素
            if (document.getElementById('shelper')) {
                var shelper = document.getElementById('shelper')
                box.removeChild(shelper);
            }
    
            // 临时数组:存放匹配到的内容
            var tempArr = [];
            // 检测输入的内容
            for (var i = 0; i < keyWords.length; i++) {
                // 如果输入的内容与数组中匹配,
                if (keyWords[i].indexOf(txt.value) === 0) {
                    tempArr.push(keyWords[i]);    // 追加到临时数组
                }
            }
    
            // 当输入的内容为空,或者临时数组没有
            if (txt.value.length === 0 || tempArr.length === 0) {
                // 删除ul元素
                if (document.getElementById('shelper')) {
                    var shelper = document.getElementById('shelper')
                    box.removeChild(shelper);
                }
                return;     // 以下代码不执行
            }
    
            // 创建ul
            var ulObj = document.createElement('ul');
            box.appendChild(ulObj);
            ulObj.id = 'shelper';
            ulObj.style.width = '350px';
            ulObj.style.border = '1px solid red';
            // 创建li
            tempArr.forEach(function (item) {
                var liObj = document.createElement('li');
                liObj.innerText = item;
                liObj.style.padding = '5px 0 5px 5px';
                liObj.style.cursor = 'pointer';
                ulObj.appendChild(liObj);
                // 绑定鼠标进入事件
                liObj.addEventListener('mouseover', mouseOver, false);
                // 绑定鼠标离开事件
                liObj.addEventListener('mouseout', mouseOut, false);
            });
    
            // 鼠标进入事件
            function mouseOver() {
                this.style.backgroundColor = '#ccc';
            }
            // 标离开事件
            function mouseOut() {
                this.style.backgroundColor = '';
            }
    
        }
    
        // 为文本框绑定键盘抬起事件
        txt.addEventListener('keyup', fn, false);
    </script>
    
    </body>
    </html>
    job

  • 相关阅读:
    zimg
    ffmpeg P016 P010 YUV444P16LE 的打印的像素值
    zimg 使用
    P010LE P016LE YUV420P10LE
    如鹏网学习笔记(八)CSS
    对dui界面 组件 hook的通杀方案
    Python 中str 与 bytes 数据结构转换
    Tensorflow 老版本的安装
    Java string和各种格式互转 string转int int转string
    电脑黑屏
  • 原文地址:https://www.cnblogs.com/uncle-kay/p/10763183.html
Copyright © 2020-2023  润新知