使用Bootrap和Vue实现仿百度搜索功能

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

用Vue调用百度的搜索接口,实现简单的搜索功能。
搜索框的样式是基于Bootstrap,当然对样式做了简单的调整,
使之类似于百度搜索。代码如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>百度搜索</title>
    <style type="text/css">
        .gray{
            background-color: #eee;
        }
        .listyle{
            font-size: 16px;
            line-height: 35px;
            padding-left: 16px;
        }
        .ulstyle{
            border:1px solid #ccc;
            border-top: none;
        }
    </style>
    <link rel="stylesheet" type="text/css" href="bootstrap.min.css">
    <script type="text/javascript" src="vue.js"></script>
    <script type="text/javascript" src="vue-resource.js"></script>
    <script type="text/javascript">
        window.onload = function(){
            new Vue({
                el: ".container",
                data: {
                    myData:[],
                    txt:"",
                    nowIndex:-1
                },
                methods:{
                    get:function(event){
                        if(event.keyCode==38 || event.keyCode==40){
                            return;
                        }
                        if(event.keyCode==13){
                            window.open("https://www.baidu.com/s?wd="+this.txt);
                            this.txt="";
                        }
                        this.$http.jsonp("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su",{
                            wd:this.txt
                        },{
                            jsonp:"cb"
                        }).then(function(res){
                            this.myData=res.data.s
                        },function(res){
                            alert(res.status);
                        });
                    },
                    changeDown:function(){
                        this.nowIndex++;
                        if(this.nowIndex==this.myData.length){
                            this.nowIndex=0;
                            this.txt=this.myData[0];
                        }else{
                            this.txt=this.myData[this.nowIndex];
                        }
                    },
                    changeUp:function(){
                        this.nowIndex--;
                        if(this.nowIndex==-1){
                            this.nowIndex=this.myData.length-1;
                            this.txt=this.myData[this.nowIndex];
                        }else{
                            this.txt=this.myData[this.nowIndex];
                        }
                    },
                    mouseOver:function(n){
                        this.nowIndex=n;
                        this.txt=this.myData[this.nowIndex];
                    },
                    getMsg:function(){
                        window.open("https://www.baidu.com/s?wd="+this.txt);
                        this.txt="";
                    }
                }
            });
        }
    </script>
</head>
<body>
    <br>
    <div class="container">
        <div class="input-group">
            <input type="text" class="form-control input-lg" placeholder="请输入关键字" v-model="txt" @keyup="get($event)" @keydown.down="changeDown()" @keydown.up="changeUp()">
            <span class="input-group-btn">
                <button class="btn btn-default btn-lg" type="button" @click="getMsg()">搜索</button>
            </span>
        </div>
        <ul class="list-unstyled ulstyle" v-show="myData.length!=0">
            <li v-for="item in myData" :class={gray:$index==nowIndex,listyle:true} @mouseover="mouseOver($index)" @click="getMsg()">{{item}}</li>
        </ul>
    </div>
</body>
</html>   

实现效果如下

这里写图片描述


这里写图片描述

bootstrap+jquery +spring 做一个类似百度搜索功能 【代码】用bootstrap+jquery +spring 做一个类似百度搜索功能 阅读详情

相关推荐

jquery仿 百度搜索

仿百度搜索自动匹配合适的内容,传递json数据,交互方便

bootstrap实现的类似百度搜索的输入框自动完成功能(动态获取数据库的值)

<div class="search"> <input type="text" data-provide="typeahead" id="product_search" class="flight"/> ...

chuleigang4140的博客 2152

仿百度搜索主页源码

仿百度搜索主页,采用html+js实现百度一下,你就知道

jQuery插件:一个仿百度搜索分页插件

jQuery插件:一个仿百度搜索分页插件,风格可以自己设置,推荐使用bootstrap配合使用

xxpr_ybgg的博客 234

bootstrap仿百度输入框智能提示(提示信息存在于数据库中)

示例图片: 百度示例 所实现示例 jsp: 缴费单位名称* <input type="text" value="${list.companyName}" id="companyName" name="companyName" onclick="autosearchCargono()" class="col-

Hero_QHZ的博客 8229

CSS——利用bootstrap实现搜索界面

本篇一如既往,说了CSS的方法,本次借助bootstrap 实现。此外,还有相关的具体实现哦~

Fancymeng的博客 2355

8-bootstrap笔记-类似百度的输入框

使用bootstrap生成一个类似百度的组合输入框,当然还可换成其他类型的组合下拉列表,单选框,复选框等等。 代码展示<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initail-scale=1,shrin

qq_25956141的博客 982

构建基于 Vue 的单页面应用 Vue-rap

ue-rap 详细介绍概述Vue-rap可以在不使用大量前端工具(如npm,webpack,Browserify等)的情况下快速构建基于Vue的秒速打开边用边下载的流应用(单页面应用);优点依赖小(只需要引用 vue 就可以了),学习成本低,上手快vue-rap拥有类似 .vue 的单页面组件;vue-rap拥有可以方便使用的路由系统,路由秉承约定大约配置,可以快速路由,无限拓展;vue-rap拥...

前端栈开发 536

使用bootstrap制作搜索

在项目开发过程中,我们或多或少都会使用搜索选项, 那么如何制作一个标准,好看的搜索框呢,这里推荐bootstrap自带的一个控件-input-group 这个控件在bootstrap中文网上没有说明,所以需要去看官方的文档,地址在 input-group 先简单看下对于这个控件官方的说明 Input group Easily extend form controls by adding

wuhawang的博客 5万+

bootstrap框架下下拉框select搜索功能

之前用Easyui框架下做的下拉框选择,虽然可以搜索,但是有诸多的不便:比如,不能模糊匹配,必须按照第一个字母来搜索 心血来潮,想换个框架写后台,然后用Bootstrap搭了个架子,然后两种样式冲突,百度了一把,找到了另一个牛逼的基于Bootstrap下拉框搜索功能的js 不区分大小写,模糊匹配,哈哈,太棒了~~ 具体用法: /js/

谢彬のCSDN专栏 10万+

vue添加品牌 搜索 双向绑定 bootstrap-ui

用到 bootstrap写页面 效果图 html 代码 ```javascript <div id="add"> <div class="container main"> <div class="bg-primary title "> 添加品牌 </div> <form class="form-inline main-input"

xushilong0812的博客 253

利用BootStrap创建搜索框 详解

今天学了bootstrap由于官网上没有搜索框,我要做一个网站正好需要,我就自己做了一个搜索框,话不多说直接上代码 下面是jsp代码 &lt;div class="col-sm-5" id="so"&gt;              &lt;div class="input-group"&gt;                  &lt;input type="text" class

丿灬安之若死 2183

如何在vue项目中引入使用bootstrap前端框架并实现模糊搜索【图文步骤+效果详解】

一.引言 Bootstrap 是一个用于快速开发 Web 应用程序网站的前端框架。在Vue项目中引用Bootstrap可以快速的构建出良好的前端样式,比使用Vue的Element—UICSS手写样式来的快捷美观的多。接下来介绍如何在Vue项目中引入Bootstrap框架。 二.步骤 Bootstrap框架使用的前提是基于jQuery的,所以我们想要在项目中引入jQu...

江夏、的博客 1200

BootStrapVue Tags 标签搜索、筛选 排除选择标签 实例 - 详解

BootStrapVue Tags 标签搜索、筛选 排除选择标签 实例 - 详解 文章涉及: Vuex、Vue、BoostrapVue 文章解析 : Vue使用 tags 标签 实现 输入名称查询标签列表 排除 已选择标签 默认展示全部 可搜索 tags 标签列表 模糊搜索 可用 tags 标签 列表 文章概览: computed 计算 函数 criteria 监听 input 输入内容 availableOptions 函数 根据条件获取标签列表 计算可选 tags 标签 option.

Bnana博客 2026

实现input输入后几秒后请求,类似百度搜索

今天面试面试官问了个问题,大概就是实现input输入几秒后请求将返回的数据放入div中,这里难点就是input框什么时候发起请求,事件节流这个词也是才接触,后来自己百度并做了相应的demo验证实现,将过程记录如下: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;实现input输入5秒后请求,类似百度那样搜素---事件...

zhyaiqq123的博客 8812

Vue-rap 构建基于 Vue 的流应用

      前几年前端还是 html+css+js 简单的配合,还记得那几年公司招前端要求很低,工资开的也低,前端需要学习的东西很低,一个新人(特别是刚出来的应届毕业生)只需要简单的培训下就可以快速进入公司前端的工作;      这几年不同了,新的技术全部出来了Angularjs,Vue,Rect,npm,webpack,Browserify,ES5,ES6,SASS拓展,不学会这么多新的技术都不...

藤之内学习笔记 787

使用vue绑定数据结合bootstrap实现功能

今天使用bootstrap4中的progress滚动条插件,实现数据绑定他对应的width数值从而实现填充的显示。 我的data 参数格式是数值型 要结合vuestyle绑定样式参考使用,参考文档 首先做出css样式: <div class="progress"> <div class="progress-bar" role="progressbar" style="w...

宝拉天天想放假 985

bootstrap布局:网格布局

网格布局 <div class="container"> <h1 class="page-header"> 布局<small>使用Bookstrap网格布局网页</small> </h1> <div class="row"> <div class="span3">dasdasdsadsadadasd

xdd_lmd的博客 1285
上一篇: 使用Bootstrap和Vue实现用户信息的编辑
下一篇: JS数组去重的几种方法
kodeliang
博客等级 码龄10年 2粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值