利用PHP+JavaScript打造AJAX搜索窗
发布时间:2006-09-19 12:52:35 来源:天极开发 网友评论 0 条 五、 显示结果
populateResults()方法负责使用搜索结果填充结果栏。它接受两个参数:包含该结果的元素和一个XParser对象(XParser是一个基于JavaScript的RSS读取器,可从www.wdonline.com/javascript/xparser/自由下载):
这个方法以编程方式并通过DOM方法生成<a/>元素;这样以来,这些元素将被添加到一个在第一行创建的文档片断中。下一行删除添加在drawResultBox()中的正加载的<div/>元素。
下一步是创建这个链接:
这段代码遍历回馈的各个项,并且由该数据生成链接并把<a/>元素添加到文档片断最后。
当退出循环时,该文档片断被添加到divResultsPane以显示搜索结果:
六、 关闭结果框
为了关闭搜索结果框,msnWebSearch对象提供了close()方法。close()方法负责处理该链接的onclick事件(关闭该小框):
该搜索框其实并没有关闭;事实上,它被从该文档中删除了。为此,需要检索divSearchBox元素。第一行代码完成这一任务-通过检索这个元素的父结点的父结点实现。因为close()负责处理onclick事件,所以this引用这一链接。下一行从文档中删除divSearchBox元素。最后一行,返回false,从而强迫浏览器不要沿用一个链接的缺省行为(转到在href属性中标注的位置)。
七、 构建搜索接口
msnWebSearch对象的最后一个方法是search(),它提供执行一个搜索的接口。你可以使用一个元素的onclick事件来调用search()。它接受两个方法:一个事件对象和搜索术语:
第一行调用drawResultBox()方法并且把事件e传递给它。下一行编码该URL以实现合适的转换。这个URL被传递给XParser构造器以创建一个新的分析器。当搜索回馈完成加载并使用结果填充搜索框时,该分析器的onload事件处理器调用populateResult()方法。
当然,构建这个搜索框的一个理由是,使其更适合于你自己的站点的外观。
populateResults()方法负责使用搜索结果填充结果栏。它接受两个参数:包含该结果的元素和一个XParser对象(XParser是一个基于JavaScript的RSS读取器,可从www.wdonline.com/javascript/xparser/自由下载):
| msnWebSearch.populateResults = function(divResultsPane,oParser){ var oFragment = document.createDocumentFragment(); divResultsPane.removeChild(divResultsPane.firstChild); |
这个方法以编程方式并通过DOM方法生成<a/>元素;这样以来,这些元素将被添加到一个在第一行创建的文档片断中。下一行删除添加在drawResultBox()中的正加载的<div/>元素。
下一步是创建这个链接:
| for (var i = 0; i < oParser.items.length; i++) { var oItem = oParser.items[i]; var aResultLink = document.createElement("a"); aResultLink.href = oItem.link.value; aResultLink.className = "ajaxWebSearchLink"; aResultLink.target = "_new"; aResultLink.appendChild(document.createTextNode(oItem.title.value)); oFragment.appendChild(aResultLink); } |
这段代码遍历回馈的各个项,并且由该数据生成链接并把<a/>元素添加到文档片断最后。
当退出循环时,该文档片断被添加到divResultsPane以显示搜索结果:
| divResultsPane.appendChild(oFragment); |
六、 关闭结果框
为了关闭搜索结果框,msnWebSearch对象提供了close()方法。close()方法负责处理该链接的onclick事件(关闭该小框):
| msnWebSearch.close = function () { var divSearchBox = this.parentNode.parentNode; document.body.removeChild(divSearchBox); return false; }; |
该搜索框其实并没有关闭;事实上,它被从该文档中删除了。为此,需要检索divSearchBox元素。第一行代码完成这一任务-通过检索这个元素的父结点的父结点实现。因为close()负责处理onclick事件,所以this引用这一链接。下一行从文档中删除divSearchBox元素。最后一行,返回false,从而强迫浏览器不要沿用一个链接的缺省行为(转到在href属性中标注的位置)。
七、 构建搜索接口
msnWebSearch对象的最后一个方法是search(),它提供执行一个搜索的接口。你可以使用一个元素的onclick事件来调用search()。它接受两个方法:一个事件对象和搜索术语:
| msnWebSearch.search = function (e,sSearchTerm) { var divSearchBox = this.drawResultBox(e); var url = encodeURI("websearch.php?search=" + sSearchTerm); var oParser = new XParser(url); oParser.onload = function () { msnWebSearch.populateResults(divSearchBox.childNodes[1],oParser); }; }; |
第一行调用drawResultBox()方法并且把事件e传递给它。下一行编码该URL以实现合适的转换。这个URL被传递给XParser构造器以创建一个新的分析器。当搜索回馈完成加载并使用结果填充搜索框时,该分析器的onload事件处理器调用populateResult()方法。
当然,构建这个搜索框的一个理由是,使其更适合于你自己的站点的外观。
- 推荐阅讯
- PHP for Linux V4.3.0下载地址列表
- PHP中实现图片的锐化
- 如何利用PHP和CSS改变网页文字大小
- PHP动态图像的创建
- 在PHP中开发XML应用程序之基础篇
- PHPUnit袖珍指南之PHPUnit的目的
- HTML To PHP Converter V4.2.1.9下载地址列
- PHP 和 MySQL 基础教程(二)
- 实例学习PHP之投票程序篇(一)
- 利用PHP+JavaScript打造AJAX搜索窗
- 阅读排行
- 1.实例学习PHP之表单处理篇(一)
- 2.实例学习PHP之表单处理篇(二)
- 3.结合AJAX进行PHP开发之入门
- 4.PHP V5.0.5下载列表
- 5.用PHP读取和编写XML DOM
- 6.使用"函数递归"实现动态树型菜单
- 7.PHP环境下配置在线编辑器FCKeditor
- 8.利用PHP和AJAX创建RSS聚合器
- 9.实例学习PHP之投票程序篇(二)
- 10.实例学习PHP之投票程序篇(一)
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
