因为我的文章很多,我又会经常查看自己的旧文,所以搜索是我使用频率非常高的一个功能,而且还和微信绑定了搜索结果,所以就更重要了,这两天外出了,晚上才回来,闲着没事,给自己的主题加上了ajax搜索提示,支持键盘操作。

大致的意思是,你输入关键字,会自动提示搜索结果,当然是不影响enter进入搜索页面的,看上去高端大气上档次~你可以去感受下

实用性就不做评价了,重要的是可以装逼~废话不多数,let's do it.

首先要改装你的search.php,让这货可以返回json数据

把< ?php get_header() ;?>替换成下面的代码

< ?php

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){

$array_posts = array ();

if (have_posts()) :

while (have_posts()) : the_post();

array_push($array_posts, array("title"=>get_the_title(),"url"=>get_permalink()));

endwhile;

endif;

echo json_encode($array_posts);

} else {

get_header(); ?>

把< ?php get_footer() ;?>替换成下面的代码

< ?php get_footer();

}?>

这样就能返回json数据了。

然后还得装修下你的搜索样式,主要是为提示结果做定位的

然后就是JS代码了,需要先利用php顶一个变量,在footer.php中加入下面的代码

然后下面的代码放到你的JS文件中

//search

var input_search = $("#search-input");

function makeAjaxSearch(result) {

if (result.length == 0) {

$("#search_filtered").empty().show().append('

' + result[i]["title"] + '');

}

}

var delaySearch;

function startSearch() {

$.ajax({

type: "GET",

url: home_url,

data: "s=" + input_search.val(),

dataType: 'json',

success: function (result) {

makeAjaxSearch(result);

console.log(result);

}

});

}

var event_ajax_search = {

bind_event: function () {

input_search.bind('keyup', function (e) {

if (input_search.val() != "" && e.keyCode != 40) {

if (delaySearch) {

clearTimeout(delaySearch)

}

delaySearch = setTimeout(startSearch, 200);

}

if (e.keyCode == 40) {

search_filtered.moveable();

}

})

},

unbind_event: function () {

input_search.unbind('keyup');

}

};

var search_filtered = {

moveable: function () {

var current = 0;

$('#search_filtered').find('a').eq(current).focus();

$(document).bind("keydown.search_result", function (e) {

if (e.keyCode == 40) {

if (current >= $('#search_filtered').find('a').size()) {

current = 0;

}

$('#search_filtered').find('a').eq(++current).focus();

e.preventDefault();

}

if (e.keyCode == 38) {

if (current < 0) {

current = $('#search_filtered').find('a').size() - 1;

}

$('#search_filtered').find('a').eq(--current).focus();

e.preventDefault();

}

});

},

hide: function () {

$(document).unbind("keyup.search_result");

$('#search_filtered').fadeOut();

}

};

input_search.focus(function () {

event_ajax_search.bind_event();

}).blur(function () {

event_ajax_search.unbind_event();

});

最后放上优雅的CSS

.filter_container {display: inline-block;position: relative;}

.ajax_search .search_filtered a {display: block;font-size: 12px;overflow: hidden;padding: 7px 12px 7px 10px;text-overflow: ellipsis;white-space: nowrap;width: 153px;color: #D14836;}

.ajax_search .search_filtered {background-color: rgba(255, 255, 255, 0.95);left: 0;position: absolute;text-align: left;top: 102%;z-index: 200;}

#search-input{float: left;border:none;height:22px;width:150px;padding-right:25px;line-height: 22px;text-indent: 10px;font-size:12px;background-color: transparent;background-image:url(img/search.png);background-repeat:no-repeat;background-position:right center}

#search-input:focus{background-color: #fff;}

#searchsubmit{display: none;}

.ajax_search .search_filtered a:hover, .ajax_search .search_filtered a:focus {background-color: rgba(0, 0, 0, 0.03);text-decoration: none;outline:thin dotted}

Via: http://fatesinger.com/3033.html

声明:本文采用 BY-NC-SA 协议进行授权,如无注明均为原创,转载请注明转自 你好!刘

本文地址:wordpress ajax搜索提示

wordpress搜索ajax,wordpress ajax搜索提示相关推荐

  1. Ajax实现百度搜索框自动提示功能

    Ajax实现百度搜索框自动提示功能 当你在搜索框内写入关键字时下拉框会匹配和你输入的关键字相匹配的信息 文章目录 Ajax实现百度搜索框自动提示功能 一.实现效果 二.代码实现 1.前端页面 2.后端 ...

  2. php ajax搜索,PHP 与AJAX

    PHP 实例 - AJAX 实时搜索 在使用 PHP 的时候,可以通过 AJAX 为用户提供更友好.交互性更强的搜索体验.本节给出了具体介绍! AJAX Live Search 在下面的实例中,我们将 ...

  3. wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程

    WordPress提交评论ajax翻页的效果会很大的提高用户体验度,虽然我们一般的个人WordPress博客评论也不会有很多,但是用户体验至上嘛,所以WordPress主题站小编为大家分享WordPr ...

  4. ajax搜索思路,jquery创建一个ajax关键词数据搜索实现思路

    在web开发过程当中,我们经常需要在前台页面输入关键词进行数据的搜索,我们通常使用的搜索方式是将搜索结果用另一个页面显示,这样的方式对于搭建高性能网站来说不是最合适的,今天给大家分享一下如何使用 jq ...

  5. wordpress常用插件打包 百度搜索推送插件+sitemap生成等

    简介: wordpress常用插件打包 百度搜索推送插件+sitemap生成+七牛云对象存储+评论防护 一.WordPress 七牛云对象存储(简称:WPQiNiu),基于七牛云对象存储与 WordP ...

  6. WP博客ajax,WordPress文章点击统计ajax版,兼容wp super cache缓存代码及插件

    自从陌小雨博客历经文章阅读数数次清零后,陌小雨对这个文章浏览数也不是很在意了,这也就是所谓的破罐子破摔吧,但自从陌小雨前段时间再启用 wp super cache 纯缓存代码后,陌小雨觉得还是有必要把 ...

  7. 你的WordPress网站经常被刷恶意搜索词?这有解决办法

    请使用WordPress建站的朋友一定要注意,这篇文章的标题说的很清楚了,该内容所讲是WordPress必须做的站内搜索优化,如果你觉得小编是危言耸听,那么你可以不用继续往下看了,将来等WordPre ...

  8. php智能搜索,WordPress中文分词与智能搜索

    问题 WordPress的搜索功能非常简陋,如果用户搜索"日语综合教程+第六册",WordPress会机械地构造一个wp_posts.post_title LIKE '%日语综合教 ...

  9. 百度搜索的一个联想搜索框是如何实现的利用AJAX实现

    实现类似于百度搜索的一个联想搜索框 效果图 考虑实现的步骤 1.创建相应的数据库并且存储数据 2.测试一下数据传输回来得搜索结果 3.模拟搜索页面 4.导入需要用到的JAR包和配置文件 5.在网页为输 ...

  10. wordpress php 中文分词 开源,WordPress中文分词与智能搜索

    问题 WordPress的搜索功能非常简陋,如果用户搜索"日语综合教程+第六册",WordPress会机械地构造一个wp_posts.post_title LIKE '%日语综合教 ...

最新文章

  1. 【从零开始的ROS四轴机械臂控制】(四)- ros、gazebo与opencv,图像处理节点
  2. JAVA写出来的塔防能有多好玩?......真香!
  3. li在ie6 、ie7里莫名其妙的出现几px的margin
  4. android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存
  5. 3、使用Statement接口实现增,删,改操作
  6. 前后端分离session_前后端分离:基于JWT用户认证分析
  7. PHP与Spring的强势接口设计_微课介绍
  8. 安卓模拟器genymotion连接eclipse成功但是不显示其中项目
  9. 缓存击穿、雪崩、穿透区别及解决方案
  10. mysql批量插入之提高插入效率
  11. linux新建虚拟机到图形化界面
  12. WPS简历模板的图标怎么修改_指导|让疫情之下的应届生,求职简历脱颖而出
  13. 层次分析法步骤及源代码
  14. Q4实现盈利,搜狐迎来“疫”外春天?
  15. 【BZOJ3097】 Hash Killer I
  16. 【gitHubDailyShare】深度学习论文精读
  17. pytorch 画loss曲线_Python练习绘制损失曲线,Pytorch,Loss
  18. linux profiling 工具,高性能:LEP (LINUX EASY PROFILING) 工具介绍
  19. 周鸿祎:360 基本不触碰用户数据;苹果与亚马逊被指控合谋推高 iPhone 等产品价格|极客头条
  20. 基于Java毕业设计校园网络维修系统源码+系统+mysql+lw文档+部署软件

热门文章

  1. 云计算技术重塑视频会议系统市场新格局
  2. vue拨打电话功能实现
  3. jsp健身房会员管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  4. linux文本编辑器里d,Linux 文 本 编 辑 器 J e d
  5. 中国乳化粉行业市场供需与战略研究报告
  6. RGB颜色转换成16bit颜色
  7. 画质增强概述-3.1-AI增强实践之超分训练
  8. HALCON算子函数——Chapter 5 : Filter
  9. 【审批工作流camunda教程】(二):camunda数据库中的48张表分别的大致含义,数据库表结构介绍
  10. linux 查看进程数据段,如何读取Linux进程中的代码段和数据段