jquery 百度搜索

  1 <!doctype html>
  2 <html>
  3 <head>
  4 <meta charset="utf-8">
  5 <title></title>
  6 <style>
  7 *{ margin:0; padding:0; list-style:none;}
  8 #box{ width:645px; margin:10px auto; text-align:center; overflow:hidden; font-size:20px;}
  9 #box img{ width:270px; height:129px;}
 10 #t1{ width:540px; height:36px; line-height:36px; outline:none; text-indent:6px; font-size:20px;}
 11 .s_btn {
 12     outline:none;
 13     width: 100px;
 14     height: 40px;
 15     float:right;
 16     color: rgb(255, 255, 255);
 17     font-size: 15px;
 18     letter-spacing: 1px;
 19     background: rgb(51, 133, 255);
 20     border-bottom: 1px solid rgb(45, 120, 244);
 21     -webkit-appearance: none;
 22     border:none;
 23     -webkit-border-radius: 0;
 24     margin-left:1px;
 25     cursor:pointer;
 26 }
 27 #box ul{ width:542px; border:1px solid #ccc; border-top:none; text-align:left; text-indent:6px; display:none;}
 28 #box ul li{ height:30px; line-height:30px; cursor:default;}
 29 #box ul li.on{ background:#f0f0f0;}
 30 </style>
 31 <script src="jquery-1.7.2.js"></script>
 32 <script>
 33 $(function(){
 34     var oBox=$(‘#box‘);
 35     var oBtn=$(‘#btn1‘);
 36     var oTxt=$(‘#t1‘);
 37     var oUl=$(‘#ul1‘);
 38     var iNow=-1;
 39     var oldValue=‘‘;
 40     var url=‘https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su‘;
 41     oTxt.on(‘keyup‘,function(ev){
 42         if(ev.keyCode==38||ev.keyCode==40){
 43             return;
 44         }
 45         if(ev.keyCode==13){
 46             window.open(‘https://www.baidu.com/s?wd=‘+oTxt.val(),‘_self‘);
 47             oTxt.val(‘‘);
 48         }
 49         $.ajax({
 50             url:url,
 51             data:{
 52                 wd:oTxt.val()
 53             },
 54             dataType:‘jsonp‘,
 55             jsonp:‘cb‘,
 56             timeout:5000,
 57             success:function(json){
 58                 var arr=json.s;
 59                 if(arr.length){
 60                     oUl.css(‘display‘,‘block‘);
 61                 }else{
 62                     oUl.css(‘display‘,‘none‘);
 63                 }
 64                 oUl.html(‘‘);
 65                 $.each(arr,function(index){
 66                    var oLi=document.createElement(‘li‘);
 67                    $(oLi).html(arr[index]);
 68                    $(oLi).appendTo(oUl);
 69                     $(oLi).on(‘mouseover‘,function(){
 70                         $.each(oUl.children(),function(t){
 71                             oUl.children().eq(t).removeClass(‘on‘);
 72                         });
 73                         $(this).addClass(‘on‘);
 74                     });
 75                     $(oLi).on(‘mouseout‘,function(){
 76                         $.each(oUl.children(),function(t){
 77                             oUl.children().eq(t).removeClass(‘on‘);
 78                         });
 79                     });
 80                     $(oLi).on(‘click‘,function(){
 81                         window.open(‘https://www.baidu.com/s?wd=‘+$(this).html(),‘_self‘);
 82                         oTxt.val(‘‘);
 83                     });
 84                 });
 85             },
 86             error:function(){
 87                 alert(‘网络异常,请重新输入‘);
 88
 89             }
 90         });
 91         oldValue=oTxt.val();
 92     });
 93     oBtn.on(‘click‘,function(){
 94         window.open(‘https://www.baidu.com/s?wd=‘+oTxt.val(),‘_self‘);
 95         oTxt.val(‘‘);
 96     });
 97     oTxt.on(‘keydown‘,function(ev){
 98         var aLi=$(‘li‘);
 99         switch(ev.keyCode){
100             case 40:
101                 iNow++;
102                 if(iNow==aLi.length){iNow=-1};
103                 $.each(aLi,function(index){
104                     aLi.eq(index).removeClass(‘on‘);
105                 });
106                 if(iNow==-1){
107                     oTxt.val(oldValue);
108                 }else{
109                     aLi.eq(iNow).addClass(‘on‘);
110                     oTxt.val(aLi.eq(iNow).html());
111                 }
112             break;
113             case 38:
114                 iNow--;
115                 if(iNow==-2){iNow=aLi.length-1};
116                 $.each(aLi,function(index){
117                     aLi.eq(index).removeClass(‘on‘);
118                 });
119                 if(iNow==-1){
120                     oTxt.val(oldValue);
121                 }else{
122                     aLi.eq(iNow).addClass(‘on‘);
123                     oTxt.val(aLi.eq(iNow).html());
124                 }
125                 break;
126           }
127
128     });
129 });
130 </script>
131 </head>
132
133 <body>
134 <div id="box">
135     <img src="https://www.baidu.com/img/bd_logo1.png"><br>
136     <input type="text" id="t1"><input type="submit" id="btn1" value="百度一下" class="bg s_btn">
137     <ul id="ul1">
138         <!--<li class="on">1111</li>-->
139         <!--<li>1111</li>-->
140         <!--<li>1111</li>-->
141         <!--<li>1111</li>-->
142     </ul>
143 </div>
144 </body>
145 </html>
时间: 2024-10-12 16:17:24

jquery 百度搜索的相关文章

小练习:用jQuery简单模拟百度搜索框的提示功能

今天第一次接触jQuery,用jQuery模拟了一下百度搜索的自动提示功能.连带jQuery的基本知识点,简单总结如下: 首先得在工程中导入插件:jquery-1.4.2.js ,并在html的head中引入该js: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html>

仿百度搜索(AJAX)

<h1>百度搜索</h1><!--建立一个DIV,其中包括一个文本输入框和一个按钮--><div id="sousuo"> <input type="text" id="txt"/><input type="button" id="btn" value="搜索" /> <!--再建一个DIV用于显示关键字查询出

jsonp模拟获取百度搜索相关词汇

随便写了个jsonp模拟百度搜索相关词汇的小demo,帮助新手理解jsonp的用法. <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>模拟百度搜索框</title><style>*{margin: 0;padding: 0;-webkit-box-sizing: border-box;-moz-box

AJAX实现分页--模拟百度搜索分页

第一部分:效果与分析 1.百度分页组件: 2.自己实现的分页: 3.分析: 百度搜索分页,如果总页数大于10,用户最多只能看到10页内容,不足10页显示全部,当点击下一页时,数字页标向前移动一个单位,当点击上一页时向后移动一个单位. 第二部分:后台实现: 1.实现思路: 后台的处理思想是这样的,通过AJAX向后台发送请求,携带一个分页对象PageBean传过去,查询完毕后返回一个新的PageBean对象. 前台传入的PageBean对象参数: 属性 名称 是否必须 默认值 pageSize 每页

百度搜索热词下拉

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <style> *{ padding:0; margin:0} input,ul{ width:200px;} ul{ border:1px solid #ccc; display:none} li{ height:25px; l

模仿百度搜索

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>模仿百度搜索 </title> </head> <link rel="stylesheet" href="css/bootstrap.css" /> <style type="text/css"> #co

百度搜索源代码

  <!DOCTYPE html>   <!--STATUS OK-->                                                                                                                                                                                                              

Ruby用百度搜索爬虫

Ruby用百度搜索爬虫 博主ruby学得断断续续,打算写一个有点用的小程序娱乐一下,打算用ruby通过百度通道爬取网络信息. 第三方库准备 mechanize:比较方便地处理网络请求,类似于Python中的requests nokogiri:解析HTML文本,采用的是jquery选择器 步骤分析 用mechanize创建一个agent对象 我们首先登录百度主页 找到百度『搜索』框的表单 填写表单内容 提交表单(agent用该表单的内容发出submit动作) 分析百度获得的搜索结果列表 用noko

仿百度搜索,匹配历史搜索

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"> <title>历史搜索</title> <script type="text