模拟百度

今天来写下类似于百度搜索的一个东西,获取百度接口,利用jsonp获取百度数据 ,实现百度框搜索的功能!

我是用jq来些的  ,我们先引入jq。

<script src="jquery.min.js>

还有我们封装的一个jsonp的一个js   这只是个插件  直接引入即可

<script src= baidujsonp.js>

来写我们的html代码

<div style="width: 40%; margin: 100px auto;">
     <input type="text" id="txt" style="width: 100%; height: 30px;"/>
     <ul id="ul11" ></ul>
</div>

效果是这样的

var  oTxt = document.getElenentById("txt")  //获取input

var  index = -1; //定义input的键盘抬起事件  从-1开始

因为当我们的键盘抬起的时候就开始获取百度的数据了,所以我们给搜索框来个键盘松开事件抬起事件

$("#txt").on(‘keyup‘,function(event){

event = event||window.event   //获取event事件

if(event.keyCode==40){         //键码为40  向上键

index==$("#ul11>li").length - 1 ? index=-1 :null;    //三目运算符 判断下标是否等于li 的长度  成立 下标等于-1 不成立则为空

index++;

$("#ul11>li").eq(index).css("background", "#ccc").siblings("li").css("background", "none");  // 当前下标的li 的css背景颜色 为灰色 他的兄弟li背景颜色为空

$("#txt").val($("#ul11>li").eq(index).text());    //搜索框里的内容就是 你选择的当前的li的内容

}else if(event.keyCode == 38){  // 键码为38  向下键

index == 0 ? index = $("#ul11>li").length : null;    //同上  判断

index--;

$("#ul11>li").eq(index).css("background", "#ccc").siblings("li").css("background", "none");  //同上

$("#txt").val($("#ul11>li").eq(index).text());   //同上

}else if(event.keyCode == 13) {   //当键码为13  13为Enter  确认键

location.href = ‘https://www.baidu.com/s?wd=‘+$("#txt").val()+‘‘;

}else{

jsonp({
      url: ‘https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su‘,  //获取百度接口
      data: {
           wd: oTxt.value     //data  要搜索的内容
          },
         cbName:"cb",     //cbName  = cb
         success: function (json) {    //成功时有一个回调函数    json是获取到的数据   
         var str = "";      //设置一个 空的字符串
         for (var i in json.s) {      //遍历  数据里的s
         str += "<li><a href=‘https://www.baidu.com/s?wd="+json.s[i]+"‘>" + json.s[i] + "</a></li>"    //str  里添加li
         }
        $(‘#ul11‘).html(str);    //ul里添加li
        }
    })

}

})

基本的就时这些了   如果还有那些不明白的 或者想要  封装好的jsonp的js  给我留言  咱们一起讨论吧!

时间: 2024-10-06 09:45:55

模拟百度的相关文章

如何邀请好友注册您的网站(模拟百度网盘)

花了一年时间做了个网盘下载站点,有兴趣的朋友可以看看站名:去转盘网 其中有个需求是想模拟百度网盘的邀请好友注册功能,想了很久果然 "皇天不负有心人" ,终于整理出个思路,并且附上代码,希望各位网友多多吐槽.我的思路大体是用网络范围内唯一的字符串uuid为标识去邀请好友,邀请者给个状态位 1 代表邀请者,并给他绑定个唯一uuid.被邀请者给个标识位0 代表被邀请者,如果他注册成功,则可以根据邀请链接获得uuid去查询数据库找到邀请者,找到后给予相应积分即可,代码如下: public St

模拟百度搜索框,输入时显示历史记录

今天写了个小demo,利用本地存储的特点,模拟百度搜索框. 主要知识是利用本地存储的特点,模拟百度搜索时的历史记录显示. 主要HTML代码为 <div class="search"> <input type="text"/> <button class="btn">搜索</button> </div> <ul class="hidden"> <li&

模拟百度搜索框

在使用百度搜索是,页面会根据我们输入的内容自动匹配一些候选内容. 实现的主要过程主要是: 1.用户在输入一个字符结束后,在onkeyup事件中获取用户输入的内容. 2.根据获取到的内容向服务器发送请求,匹配到相似的数据,存到数组中. 3.判断数组是否有内容,如果有数据,就在搜索框下面遍历匹配到的内容(候选项). 首先,要写好页面布局 html部分 <html> <head> <meta http-equiv="Content-Type" content=&

模拟百度搜索代码

模拟百度搜索“2012世界末日”网页地震撕裂效果,本效果是模仿用户在百度输入“2012世界末日”后点击搜索后出来的网页效果,网页在震动,像是地震了,而后开始撕裂,然后显示出相关的文字说明,很酷的效果,希望大家可以学习借鉴. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Webbrowser模拟百度一下子点击事件

Webbrowser模拟百度一下点击事件新建一个form,有一个button和一个webbrowser控件.然后webbrowser一开始加载的就是百度主页.然后在文本框里输入点东西,如何做到点击button就相当于点击点击webbrowser中的"百度一下"按钮? 分享到: ------解决方案--------------------refer: ? 1 2 3 4 5 6 7 8 9 10 11     private void Form1_Load(object sender, 

c#模拟百度电击器方案

核心提示: 我 们都知道百度对于用户体验很重视,如果一个关键词的某个搜索结果,点击量会很对的话,则百度会认为这个结果是用户所喜欢的结果,然后这个网站自然会在百度 得到一个很好的排名. 网络上也出现了百度自动排名点击器,不知道这个到底对排名有没有用,但是用程序来实现这个东西,还是很有意思的. 首先分析下百度搜索关键词... 我们都知道百度对于用户体验很重视,如果一个关键词的某个搜索结果,点击量会很对的话,则百度会认为这个结果是用户所喜欢的结果,然后这个网站自然会在百度得到一个很好的排名. 网络上也

模拟百度分页算法实现

定义变量 pageSize 每一页显示的记录条件 pageNow 当前页,初始默认值为1 pageCount 总页数,有pageSize和数据库总记录数决定 公式:double res = select count(id) from 记录表 // 使用Math函数将结果向上取整 pageCount = (int) Math.ceil(res / pageSize); pageNow是传入参数,pageCount是传出参数,pageSize内部使用页码分页显示 pageNum 每一页显示的页码数,

模拟百度搜索“2012世界末日”网页地震撕裂效果

模拟百度搜索“2012世界末日”网页地震撕裂效果,本效果是模仿用户在百度输入“2012世界末日”后点击搜索后出来的网页效果,网页在震动,像是地震了,而后开始撕裂,然后显示出相关的文字说明,很酷的效果,希望大家可以学习借鉴. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

C#模拟百度登录并到指定网站评论回帖(五)

前面的四篇已经说完了全部的模拟百度登录,接下来就是到指定的网站去发表评论,当然你也可能是获取其他信息,其实这些套路都是万变不离其宗的,弄懂之后觉得像这种请求-响应获取信息的功能实在很简单(想起当初走的弯路,真是太心酸了) 今天的详细评论过程就不多说了,这里就指出一下我在写这个功能的时候遭遇的问题,也正是这些问题导致陷入了困境.(主要是理论,有不懂的童鞋欢迎评论交流) 第一个问题:如果使用的百度登录网站,那么前面我们获取到BDUSS之后,到这里就要发生转换.因为我访问的网页,在访问主页的时候会通过

原生JS模拟百度搜索框

近期有个新入行的小伙伴一直在问一些基础知识,突然觉得人的记忆力有限,有些平常很少用到的知识点虽简单却也其实很容易模糊,或者是一个单词,或者是一个语法.所以想着应该利用一下工作之余的碎片时间,记录一些工作上的问题和一些有趣的小案例,于是开通了播客,一方面便于自己日后翻阅,一方面给刚学习的小伙伴一个参考. 今天先写一个简单的小案例:原生JS模拟百度搜索框. 需求: 1.当在输入框输入时,每输入一个文字,就会在下方展示相关内容列表 2.每一次输入框输入,清空上一次内容 3.鼠标移入列表内容时,对应的内