示例

JavaScript 制作百度输入预测功能_JavaScript
JavaScript 制作百度输入预测功能_JavaScript_02

代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>title</title>
    <style>
        #box {
            width: 450px;
            margin: 200px auto;
        }

        #txt {
            width: 350px;
        }

        #pop {
            width: 350px;
            border: 1px solid red;
        }

        #pop ul {
            margin: 10px;
            padding: 0px;
            width: 200px;
            list-style-type: none;

        }

        #pop ul li {

        }
    </style>
</head>
<body>
<div id="box">
    <input type="text" id="txt" value="">
    <input type="button" value="百度一下" id="btn">
</div>
<script src="common.js"></script>
<script>
    var keyWords = ["小杨最纯洁", "小杨一点也不追名逐利", "小李是大家的", "小快好快", "华为这一波很6", "花儿笑了", "苹果禁用微信,用户纷纷下载QQ"];
    // 获取文本框注册键盘抬起事件
    my$("txt").onkeyup = function () {
        // 每一次的键盘抬起都判断页面中有没有这个div
        if (my$("dv")) {
            // 有就删除
            my$("box").removeChild(my$("dv"));
        }
        // 获取文本输入的内容
        var text = this.value;
        // 创建临时数组来存放对应上的数据
        var tempArr = [];
        for (var i = 0; i < keyWords.length; i++) {
            // 判断是否是最开始出现的
            if (keyWords[i].indexOf(text) == 0) {
                tempArr.push(keyWords[i]);//追加
            }

        }
        // 如果文本框是空的,临时数组是空的,则不用创建div
        if (this.value.length == 0 || tempArr.length == 0) {
            //如果页面中有这个div,删除这个div
            if (my$("dv")) {
                my$("box").removeChild(my$("dv"));
            }
            return;
        }
        // 创建div,把div加入到box中的div中
        var dvObj = document.createElement("div");
        my$("box").appendChild(dvObj);
        dvObj.id = "dv";
        dvObj.style.width = "350px";
        dvObj.style.border = "1px solid green";
        //循环遍历临时数组,创建对应的p标签
        for (var i = 0; i < tempArr.length; i++) {
            // 创建p标签
            var pObj = document.createElement("p");
            // 把p加到div中
            dvObj.appendChild(pObj);
            setInnerText(pObj, tempArr[i]);
            pObj.style.margin = 0;
            pObj.style.padding = 0;
            pObj.style.cursor = "pointer";
            pObj.style.marginTop = "5px";
            pObj.style.marginLeft = "5px";
            // 添加鼠标进入事件
            pObj.onmouseover = function () {
                this.style.backgroundColor = "yellow";
            }
            //鼠标离开
            pObj.onmouseout = function () {
                this.style.backgroundColor = "";
            };
        }
    }
</script>
</body>
</html>