php百度搜索框代码,基于jquery的仿百度搜索框效果代码_jquery

先看看整个的效果图:

图一:

5661c8c263d37f4a73e7796cc0fd8558.gif

图二:

5f13f47aa8c58392ac99d073224988e3.gif

图三:

eeaba3d2300c7fe27db60a98baf7fd26.gif

图四:

ca4f8526ea53e4e99223906d84aa2ed3.gif

大概的效果图就这样,接下来直接看源码

页面:

CSS:

.autoSearchText{

border:solid 1px #CFCFCF;

height:20px;

color:Gray;

}

.menu_v{

margin:0;

padding:0;

line-height:20px;

font-size:12px;

list-style-type:none;

}

.menu_v li{

margin:0;

padding:0;

line-height:20px;

font-size:14px;

list-style-type:none;

float:none;

}

.menu_v li span{

color:Red;

}

#autoSearchItem{

border:solid 1px #CFCFCF;

visibility:hidden;

position:absolute;

background-color:white;

overflow-y:auto;

}

JS:

1 ///

2

3 (function($) {

4 var itemIndex = 0;

5

6 $.fn.autoSearchText = function(options) {

7 //以下为该插件的属性及其默认值

8 var deafult = {

9 width: 200, //文本框宽

itemHeight: 150, // 下拉框高

minChar: 1, //最小字符数(从第几个开始搜索)

datafn: null, //加载数据函数

fn: null //选择项后触发的回调函数

};

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

var ops = $.extend(deafult, options);

$(this).width(ops.width);

var autoSearchItem = '

';

$(this).after(autoSearchItem);

$('#autoSearchItem').width(ops.width + 2); //设置项宽

$('#autoSearchItem').height(ops.itemHeight); //设置项高

$(this).focus(function() {

if ($(this).val() == textDefault) {

$(this).val('');

$(this).css('color', 'black');

}

});

var itemCount = $('li').length; //项个数

/*鼠标按下键时,显示下拉框,并且划过项时改变背景色及赋值给输入框*/

$(this).bind('keyup', function(e) {

if ($(this).val().length >= ops.minChar) {

var position = $(this).position();

$('#autoSearchItem').css({ 'visibility': 'visible', 'left': position.left, 'top': position.top + 24 });

var data = ops.datafn($(this).val());

initItem($(this), data);

var itemCount = $('li').length;

switch (e.keyCode) {

case 38: //上

if (itemIndex > 1) {

itemIndex--;

}

$('li:nth-child(' + itemIndex + ')').css({ 'background': 'blue', 'color': 'white' });

$(this).val($('li:nth-child(' + itemIndex + ')').find('font').text());

break;

case 40: //下

if (itemIndex < itemCount) {

itemIndex++;

}

$('li:nth-child(' + itemIndex + ')').css({ 'background': 'blue', 'color': 'white' });

$(this).val($('li:nth-child(' + itemIndex + ')').find('font').text());

break;

case 13: //Enter

if (itemIndex > 0 && itemIndex <= itemCount) {

$(this).val($('li:nth-child(' + itemIndex + ')').find('font').text());

$('#autoSearchItem').css('visibility', 'hidden');

ops.fn($(this).val());

}

break;

default:

break;

}

}

});

/*点击空白处隐藏下拉框*/

$(document).click(function() {

$('#autoSearchItem').css('visibility', 'hidden');

});

};

/*获取文本框的值*/

$.fn.getValue = function() {

return $(this).val();

};

/*初始化下拉框数据,鼠标移过每项时,改变背景色并且将项的值赋值给输入框*/

function initItem(obj, data) {

var str = "";

if (data.length == 0) {

$('#autoSearchItem ul').html('

无符合数据

');

}

else {

for (var i = 1; i <= data.length; i++) {

str += "

" + i + "/" + data.length + "\r" + data[i - 1] + "";

}

$('#autoSearchItem ul').html(str);

}

/*点击项时将值赋值给搜索文本框*/

$('li').each(function() {

$(this).bind('click', function() {

obj.val($(this).find('font').text());

$('#autoSearchItem').css('visibility', 'hidden');

});

});

/*鼠标划过每项时改变背景色*/

$('li').each(function() {

$(this).hover(

function() {

$('li:nth-child(' + itemIndex + ')').css({ 'background': 'white', 'color': 'black' });

itemIndex = $('li').index($(this)[0]) + 1;

$(this).css({ 'background': 'blue', 'color': 'white' });

obj.val($('li:nth-child(' + itemIndex + ')').find('font').text());

},

function() {

$(this).css({ 'background': 'white', 'color': 'black' });

}

);

});

};

})(jQuery);

getdata.ashx

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Services;

namespace table

{

/// /// $codebehindclassname$ 的摘要说明

///

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class getData : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.Clear();

string value = GetResult();

context.Response.Write(value);

context.Response.End();

}

private string GetResult()

{

string result = string.Empty;

result = @"

[{""id"":""1"",""Code"":""1374123""},

{""id"":""2"",""Code"":""1374133""},

{""id"":""3"",""Code"":""1374143""},

{""id"":""4"",""Code"":""1374153""},

{""id"":""5"",""Code"":""1374163""},

{""id"":""6"",""Code"":""1374173""},

{""id"":""7"",""Code"":""1374183""},

{""id"":""8"",""Code"":""1374193""},

{""id"":""9"",""Code"":""1374213""},

{""id"":""10"",""Code"":""1374223""},

{""id"":""11"",""Code"":""1374233""},

{""id"":""12"",""Code"":""1374243""},

{""id"":""13"",""Code"":""1374253""},

{""id"":""14"",""Code"":""1374263""},

{""id"":""15"",""Code"":""1374273""},

{""id"":""16"",""Code"":""1374283""},

{""id"":""17"",""Code"":""1374293""},

{""id"":""18"",""Code"":""1374313""},

{""id"":""19"",""Code"":""1374323""},

{""id"":""20"",""Code"":""1374333""},

{""id"":""21"",""Code"":""1374343""},

{""id"":""22"",""Code"":""1374353""},

{""id"":""23"",""Code"":""1374363""},

{""id"":""24"",""Code"":""1374373""},

{""id"":""25"",""Code"":""1374383""},

{""id"":""26"",""Code"":""1374393""},

{""id"":""27"",""Code"":""1374403""},

{""id"":""28"",""Code"":""1374413""},

{""id"":""29"",""Code"":""1374423""},

{""id"":""30"",""Code"":""1374433""},

{""id"":""31"",""Code"":""1374443""},

{""id"":""32"",""Code"":""1374453""},

{""id"":""33"",""Code"":""1374463""},

{""id"":""34"",""Code"":""1374473""},

{""id"":""35"",""Code"":""1374483""},

{""id"":""36"",""Code"":""1374493""}]";

return result;

}

public bool IsReusable

{

get

{

return false;

}

}

}

}

Demo下载

相关标签:百度搜索框

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

相关文章

相关视频

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

47d507a036d4dd65488c445c0974b649.png

立即提交

专题推荐064df72cb40df78e80e61b7041ee044f.png独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

7dafe36c040e31d783922649aefe0be1.png玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

04246fdfe8958426b043c89ded0857f1.png天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值