搜索框的实现

Posted lanhuo666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索框的实现相关的知识,希望对你有一定的参考价值。

 

参考博文:https://www.jianshu.com/p/200561e45518

一、设计基本样式:

原生html和css实现:

<div id="show">
    <div class="search_img">
        <img src="./img/baidu.PNG" alt="百度" title="百度">
    </div>
    <div class="searchDiv">
        <input type="text" class="kw" name="keyword">
        <button class="searchButton" type="submit"><a href="" id="go">搜索</a></button>
        <div class="search_result">
            <ul> </ul>
        </div>
    </div>
</div>

 

<style>
    div.search_img{
        text-align: center;
    }
    img{
        margin: 100px auto;
    }
    div.searchDiv{
        background-color: #029ae5;
        width: 700px;
        margin: 1px auto;
        padding: 1px;
        height: 40px;
        display: block;

    }
    div.searchDiv input{
        width: 575px;
        border: 1px solid transparent;
        height: 34px;
        margin: 1px;
        outline:none;
    }
    div.searchDiv button{
        width: 110px;
        border: 1px solid transparent;
        background-color: #029ae5;
        font-size: 20px;
        font-weight: bold;
    }
    #go{
        color: white;
        text-decoration: none;
    }
    /*下拉框样式设置*/
    .search_result{
        border: #029ae5 1px solid;
    }
    ul{
        padding: 0;
        margin: 0;
    }
    li{
        line-height: 20px;
        font-size: 14px;
        cursor:pointer;
        box-sizing: border-box;
        padding:0 5px;
        list-style-type: none;
    }
    li:hover{
        background-color: rgb(230,230,230);
    }
    li>a{
        text-decoration: none;
    }
</style>

 

 

结果如下

技术分享图片

 

 

 二:javascript编写

提示:在这里直接调用百度api的接口

$(document).ready(function () {
    $(".search_result").hide();
    $(".kw").keyup(function () {
        if ($(".kw").val() == ""){
            $("li").remove();
            $(".search_result").hide();
            return;
        } else {
            var url = "https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+$(".kw").val();
            querySUG(url);
        }
    });
})
    function querySUG(url) {
        $("li").remove();
        $.ajax({
            type:"get",
            async:true,
            url:url,
            dataType:"jsonp",
            jsonp:"cb",
            jsonpCallback:"callback",
            success:function(data){
                data.s.forEach(function (el) {
                    var lis = document.createElement("li");
                    lis.innerHTML="<a href=‘https://www.baidu.com/s?wd="+el+"‘>"+ el+"</a>";
                    $(".search_result > ul").append(lis);
                })
                $(".search_result").show();
            },error:function() {
                console.log(‘fail‘);
            }
        });
    }

 

 这里实现的功能是当输入相应的关键词,会出现相应的下拉框中的提示词,鼠标点击相应的关键词,会跳转到相应的搜索页面。至此简单的搜索框功能就实现了。

但是!

联系实际需求:我们更需要通过键盘的上下移动和enter键控制实现跳转页面!

 尚待完善,后续会持续更新!!

以上是关于搜索框的实现的主要内容,如果未能解决你的问题,请参考以下文章

winform 输入搜索提示框的实现

带分类页签搜索框的实现

js+servlet实现百度搜索栏下拉框的实现

如何在 BottomNavigationView 的片段上打开搜索界面?

使用jquery+ajax+php实现搜索框的功能

Extjs combobox 实现搜索框的效果