最近学到Ajax,觉得自己对与前后端的数据交互有了一个基本的了解。下面是Ajax应用到淘宝/百度的搜索功能的一个简单的小实例,就是输入一个词,下拉框中自动显示匹配的内容:

aaarticlea/png;base64,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" alt="" />

页面的布局比较简单,就是一个input输入框和一个下拉的ul列表:

<body>
<input type="text" id="q" />
<ul id="ul1"></ul>
</body>

给两个框加上简单的样式,ul的display:none;后续在js里面创建元素:

<style>
#q {width: 300px; height: 30px; padding: 5px; border:1px solid #f90; font-size: 16px;}
#ul1 {border:1px solid #f90; width: 310px; margin: 0;padding: 0; display: none;}
li a { line-height: 30px; padding: 5px; text-decoration: none; color: black; display: block;}
li a:hover{ background: #f90; color: white; }
</style>

js中用到Ajax跨域解决方案JSONP:在页面创建一个script标签,设置src属性,加入参数,用函数angel(data)处理获取过来的数据,将数据加入到ul列表中,点击下拉列表中的数据跳转到百度搜索页面:

<script>
function angel(data) { var oUl = document.getElementById('ul1');
var html = '';
if (data.s.length) {
oUl.style.display = 'block';
for (var i=0; i<data.s.length; i++) {
html += '<li><a target="_blank" href="http://www.baidu.com/s?wd='+data.s[i]+'">'+ data.s[i] +'</a></li>';
}
oUl.innerHTML = html;
} else {
oUl.style.display = 'none';
} }
window.onload = function() { var oQ = document.getElementById('q');
var oUl = document.getElementById('ul1'); oQ.onkeyup = function() { if ( this.value != '' ) {
var oScript = document.createElement('script');
oScript.src = 'http://suggestion.baidu.com/su?wd='+this.value+'&cb=angel';
document.body.appendChild(oScript);
} else {
oUl.style.display = 'none';
}
}
}
</script>

Ajax跨域实现淘宝/百度搜索下拉提示效果的更多相关文章

  1. Ajax跨域:Jsonp实例--百度搜索框下拉提示

    Ajax跨域:Jsonp实例--百度搜索框下拉提示 一.总结 一句话总结:a.找好接口:b.用script标签的src引入文件(json数据):c.定义及实现上一步引入文件中的函数 1.如何找到一个网 ...

  2. vue实现百度搜索下拉提示功能

    这段代码用到vuejs和vue-resouece.实现对接智能提示接口,并通过上下键选择提示项,按enter进行搜索 <!DOCTYPE html> <html lang=" ...

  3. jsonp跨域获取数据实现百度搜索

    本菜鸡最近在写某个页面请求数据时,报了如下的错误. Failed to load https://...:No 'Access-Control-Allow-Origin' header is pres ...

  4. jquery 仿百度搜索下拉框的插件

    转载地址:http://www.open-open.com/lib/view/open1420624048437.html 今天写了个下拉插件分享出来 效果: , 可以搜素,也可以使用上下键选择匹配出 ...

  5. 利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。

    打开百度输入  站内搜索也要实现类似功能.最基础的做法,写个方法查数据库搜索历史综合表keywordSearch(先将被搜索过的关键字记录到一张表,记录好他们被搜索的次数.上次搜索的有多少结果) 大概 ...

  6. jquery php 百度搜索框智能提示效果

    这个程序是利用php+ajax+jquery 实现的一个仿baidu智能提示的效果,有须要的朋友能够下载測试哦. 代码例如以下 index.html文件,保保存成index.htm <!DOCT ...

  7. z-blog博客组插件openSug.js百度搜索下拉框提示代码

      z-blog安装openSug插件即可获得带有“搜索框提示”功能的搜索框,让z-blog搜索更便捷! https://www.opensug.org/.../opensug_z-blog_v1.0 ...

  8. js中实现输入框类似百度搜索的智能提示效果

    说明:我这里显示的数据采用词典(词典在js中自定义的,看下面文字),主要显示key. 页面元素: <style type="text/css">.search { le ...

  9. JavaScript--模拟百度搜索下拉li

    上效果: 主要思路: 函数indexOf() .join().innerHTML的使用,还有 用完的数组要清空 <!DOCTYPE html> <html> <head ...

随机推荐

  1. sql2000数据库误删除后自行恢复二次覆盖成功恢复

    sql2000数据库误删除后自行恢复二次覆盖成功恢复 [数据恢复故障描述] 今天接到一个客户电话,他的速达sql2000数据库,数据库误删除了,关键之前还没有备份过.他就想自己尝试恢复,使用网上下载的 ...

  2. UVa 10551 - Basic Remains

    题目大意:关于大数的mod和进制转换,直接使用Java的BigInteger类,正在copy式学习中... import java.io.*; import java.util.*; import j ...

  3. android——网络操作(一)连接网络

    连接网络 一,包含许可 <uses-permissionandroid:name="android.permission.INTERNET"/> <uses-pe ...

  4. Python collections.defaultdict() 与 dict的使用和区别

    看样子这个文档是难以看懂了.直接看示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import collections s = [('yellow', ...

  5. UVa 507 - Jill Rides Again

    题目大意:最大和子序列问题.由于具有最大和的子序列具有一下性质:第一项不为负数,并且从第一项开始累加,中间不会有和出现负数,因为一旦有负数我们可以抛弃前边的部分以得到更大的子序列和,这将会产生矛盾. ...

  6. SNPs & MAF

    SNPs,全称是single nucleotide polymorphisms,SNPs等位基因频率的容易估计.采用混和样本估算等位基因的频率是种高效快速的策略.该策略的原理是:首先选择参考样本制作标 ...

  7. --@angularJS--综合小实例1

    <!DOCTYPE HTML><html ng-app="myapp"><head> <title>综合小实例</title& ...

  8. easyui datagrid分页参数获取

    $("#btnDataExport").click(function () { $.messager.show({ title: '导出提示', msg: '每次导出一页商户数据, ...

  9. 负载均衡软件LVS分析二(安装)

    一.  安装LVS软件 1.安装前准备工作操作系统:统一采用Centos4.4版本.地址规划,如表1所示:表1 更详细的信息如图2所示: 图2  LVS DR模式安装部署结构图 图2中的VIP指的是虚 ...

  10. 二维动态规划——Interleaving String

    97. Interleaving String Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2 ...