如何使用jquery的jsonp实现仿百度下拉列表

使用了mui布局,可以换布局,这个不重要,重要的是怎么实现的

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

<link href="css/mui.min.css" rel="stylesheet" />

<style type="text/css">

//修改样式的css可以不看

body{

background-color: #fff;

}

.header-search{

width: 100%;

height: 44px;

background-color: #f8f8f8;

position: fixed;

top: 0px;

}

.my-search-input{

width: 80%;

margin: 3px auto;

height: 38px;

line-height: 38px;

}

/*.mui-input-row:last-child{

background-color: #fff;

}*/

.mui-search .mui-placeholder{

background-color: #fff;

}

.mui-active .mui-placeholder{

background-color: #fff;

}

.mui-search .mui-placeholder{

font-size: 20px;

}

input[type=search]{

background-color: #fff;

}

.hot-search{

margin-top: 44px;

text-align: center;

width: 100%;

border-top: 1px solid transparent;

}

.hot-search h2{

width: 100%;

font-size: 35px;

margin-top: 50px;

margin-bottom: 50px;

}

.searchList{

width: 100%;

padding: 0;

margin: 0;

}

.searchList li{

width: 100%;

list-style: none;

font-size: 33px;

color: #0db252;

font-weight: bold;

height: 40px;

line-height: 40px;

}

.searchList li:hover{

font-size: 40px;

cursor: pointer;

color: yellowgreen;

}

.searchList .active-li{

font-size: 40px;

cursor: pointer;

color: yellowgreen;

}

</style>

</head>

<body>

<script src="js/mui.min.js"></script>

<script type="text/javascript">

mui.init()

</script>

<div class="header-search">

<div class="mui-input-row mui-search my-search-input">

<input type="search" class="mui-input-clear" placeholder="搜索" name="Access-Control-Allow-Origin">

</div>

</div>

<div class="hot-search">

<h2>热门搜索</h2>

<ul class="searchList">

<!--<li>腾讯</li>-->

</ul>

</div>

</body>

<script src="js/jquery-1.11.1.min.js" type="text/javascript" charset="utf-8"></script>

<script src="js/interface.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">

//获取搜索的一些路径 这个路径是使用自己电脑配置的接口 不用使用后面有使用百度的接口

/*$.getJSON(searchList,{},function(r){

var searchListData = r.data;

var html = "";

for (var i = 0; i < searchListData.length; i++) {

var item = searchListData[i];

$(".searchList").append("<li>"+item+"</li>");

}

}); */

//文本框数据发生改变 借用百度接口

$(".header-search input").on("input propertychange",function(){

var keyword = $(this).val();

$.ajax({

type: "get",

async: false,

url: "https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?",

data:{

wd:keyword

},

dataType: "jsonp",

jsonp: "cb",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)

//jsonpCallback:"message",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据

success: function(r){

//     alert(‘你的名字:‘ + r.s);

$(".searchList").empty();

var searchListData = r.s;

for (var i = 0; i < searchListData.length; i++) {

var item = searchListData[i];

$(".searchList").append("<li>"+item+"</li>");

}

},

error: function(){

alert(‘fail‘);

}

});

});

var num = -1;

//进入百度搜索页面的参数

var paramsWd = "";

//通过上下键控制 走向 通过enter控制进入哪个页面

$(".header-search input").on("keydown",function(event){

//event.which 获取键盘上的ACCIS码值

switch (event.which){

//上键 通过改变num的值来改变li的类

case 38:

num--;

if (num == -2) {

num = $(".searchList li").length;

}

//通过num获取到li改变自己移除他人的激活class

$(".searchList li").eq(num).addClass("active-li").siblings().removeClass("active-li");

break;

//下键

case 40:

num++;

if (num == $(".searchList li").length-1) {

num = -1;

}

$(".searchList li").eq(num).addClass("active-li").siblings().removeClass("active-li");

break;

//回车

case 13:

//将回车 中的数据传给keyword即:搜索关键字

paramsWd = $(".searchList li").eq(num).html();

location.href = "https://www.baidu.com/s?wd="+paramsWd;

break;

default:

break;

}

})

//如果鼠标移入ul区域那么num就不再生效了

//鼠标移入清除其他激活的类

$(".searchList").bind("mouseover",function(){

num = -1;

$(".searchList li").removeClass("active-li");

});

//单击ul下面的哪个li进入哪个

$(".searchList").on("click","li",function(){

paramsWd = $(this).html();

location.href = "https://www.baidu.com/s?wd="+paramsWd;

});

//通过在input中的值enter进入百度

$(".header-search input").on("keydown",function(event){

if (event.which==13) {

paramsWd = $(this).val();

location.href = "https://www.baidu.com/s?wd="+paramsWd;

}

});

//可以将进入百度页面获取html的赋值封装成函数把val的也封装成函数

</script>

</html>

时间: 2024-12-06 18:20:35

如何使用jquery的jsonp实现仿百度下拉列表的相关文章

jquery特效分享-一款基于jQuery的仿百度首页滑动选项卡

今天给大家分享一款基于jQuery的仿百度首页滑动选项卡.这款选项卡适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 实现的代码. html代码: <div class="main-page"> <div class="left"> <div class="nav-back"> </div> <div class="

JQUERY仿百度谷歌智能提示

  若使用jquery智能提示,则主要使用Ajax动态调用后台. 仿百度谷歌智能提示,说实话,本篇博客仿的不太缜密,有待继续完善. 仿百度谷歌智能提示,思路主要如下: 1.后台根据前台传递的参数进行匹配,提供数据列表. 2.前台美观智能展示选择数据列表 声明:此篇博客的后台是假数据,没有搭建数据库进行匹配. 来一张目前功能截图: 鼠标控制: 键盘控制: 选中之后: 思路:[重点前台] 监听输入框值变化,然后动态生成显示列表[仿] 显示列表中绑定各种事件(鼠标移近.移除.单击[仿] 文本框聚焦

基于jQuery仿百度首页换肤功能代码

分享一款基于jQuery仿百度首页换肤功能代码.这是一款类似百度首页的自定义背景图片切换特效代码. 在线预览   源码下载 实现的代码. html代码: <a href="#">换肤</a> <div class="heitiao"></div> <div class="con"><img src="images/content.png" /></d

Jquery 仿百度搜索引擎自动完成功能

源代码如下所示: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>自动完成例子</title> <script type="text/javascript" src="js/jquery-1.4.1.min.js"><

一款基于jQuery的仿百度首页滑动选项卡

今天给大家分享一款基于jQuery的仿百度首页滑动选项卡.这款选项卡适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="main-page"> <div class="left"> <div class="nav-back"> </div> <div

JAVA仿百度分页

最近在做一个仿百度网盘的网页小应用,找到了一个优雅简洁的分页插件,和百度搜索的分页很相似,对他进行了二次封装,拿出来跟大家分享下 插件源码 /** * This jQuery plugin displays pagination links inside the selected elements. * * This plugin needs at least jQuery 1.4.2 * * @author Gabriel Birke (birke *at* d-scribe *dot* de

angular的仿百度搜索功能

尝试一下调用百度的搜索功能,这部分主要是练习$http. 首先HTML部分: <div ng-app="myApp" ng-controller="Aaa""> <input type="text" ng-model="name" ng-keyup="change(name)" placeholder="请输入搜索内容">//内容的搜索框 <inp

仿百度首页选项卡切换效果

效果:http://hovertree.com/texiao/jquery/71/ 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery仿百度首页选项卡切换效果 - 何问起</title> <base ta

仿百度文库方案openoffice.org 3+swftools+flexpaper

最近在给客户开发XX系统时,客户要求上传到管理系统的文档(包括*.doc;*.docx;*.xls;*.xlsx;*.ppt;*.pptx;*.pdf;)只能预览不允许下载不允许打印. 就想打到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash来播放文档的,在网上查阅了大量资料,终于实现了该项功能, 现将自己的设计和实现整理如下,可下载. 如何将文档转成flash支持的swf文件实现在线播放? 1.先用openOffice把*.doc;*.docx;*.xls;*.xlsx;*.p