使用google搜索的时候,我们会发现他有一个很人性化的东西,就是搜索智能提示,英文名字叫:autoComplete,如图
于是我也手痒痒,想整一个,时尚时尚是一方面,最主要还是为了用户好,用户是上帝嘛,不过小弟我js偏弱,于是我用很笨的办法实现了一个,firefox下还不支持,下面是代码,请各位高手指点,以下代码直接保存成html可以看见效果
1
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>
2
<
HTML
>
3
<
HEAD
>
4
<
TITLE
>
New Document
</
TITLE
>
5
<
META
NAME
="Generator"
CONTENT
="EditPlus"
>
6
<
META
NAME
="Author"
CONTENT
=""
>
7
<
META
NAME
="Keywords"
CONTENT
=""
>
8
<
META
NAME
="Description"
CONTENT
=""
>
9
<
style
>
...
10
#ul1{...}{width:360px;border:1px solid #A2A2A2; background-color:#f1f9fe;z-index:3; padding:0 0 0 2px; }
11
#ul1 li{...}{width:360px; list-style-type:none; margin-bottom:2px; padding:0px;}
12
.leftspan{...}{
13
float:left; font-weight:normal; font-size:11px;
14
}
15
.rightspan{...}{
16
float:right;font-weight:normal;font-size:10px; color:Green;
17
}
18
</
style
>
19
</
HEAD
>
20
21
<
BODY
>
22
<
script
language
="javascript"
>
...
23
var k='在这里输入文字';
24
document.write('<ul id="ul1" style="display:none;position:absolute;"></ul><form id="frmhead" name="frmhead" onsubmit="javascript:return subcheck()" action="/Search.aspx" method="get" ><li style="width:400px !important;width:300px;"><input id="k" size="69" maxlength="80" autocomplete="off" name="k" class="kind_textbox_search_border" onkeyup="keyup1();" onblur="if (this.value == /'/') {this.value = /'赶快体验强劲视频搜索!/';};$(/'ul1/').style.display = /'none/';" onfocus="if (this.value == /'赶快体验强劲视频搜索!/') {this.value = /'/';}" value="'+k+'" /><input type="submit" value=" 立即搜索 " class="btnval" /></form><li><a onclick="this.style.behavior=/'url(#default#homepage)/';this.setHomePage(/'http://www.svnhost.cn/');" href="#">设为首页</a>');
25
var selectIndex = -1;
26
var lastObject = null;
27
var lastValue = '';
28
var globalViewstr = "";
29
var yobj = new ActiveXObject("Scripting.Dictionary");
30
var gtag = 1;
31
var avg = new Object();
32
function closediv(obj)...{$(obj).style.display = "none";}
33
function showdiv(obj)...{$(obj).style.display = "block";}
34
String.prototype.trim = function()...{ return this.replace(/(^[/s]*)|([/s]*$)/g, ""); }
35
function $() ...{var elements = new Array(); for (var i = 0; i < arguments.length; i++) ...{
36
var element = arguments[i];
37
if (typeof element == 'string')
38
element = document.getElementById(element);
39
if (arguments.length == 1)
40
return element;
41
elements.push(element);}
42
return elements;}
43
function $F(obj)...{return $(obj).value;}
44
function submitit()...{closediv('ul1');}
45
function mouseoverz1()
46
...{
47
var e = event || window.event;
48
selectIndex = parseInt(e.srcElement.getAttribute('index'));
49
UpdateSelected();
50
}
51
function subcheck()
52
...{
53
if($F('k').trim()=='' || $F('k').trim()=='赶快体验强劲视频搜索!')
54
...{
55
$('k').focus();
56
return false;
57
}
58
frmgiveValue();
59
return true;
60
}
61
function btncsave()
62
...{
63
if($F('k').trim()=='' || $F('k').trim()=='赶快体验强劲视频搜索!')
64
...{
65
$('k').focus();
66
return;
67
}
68
else
69
...{
70
document.frmhead.submit();
71
}
72
}
73
function writecontentv1()
74
...{
75
if(selectIndex!=-1&&$('ul1').style.display != "none")
76
...{
77
var o = $('ul1').childNodes[selectIndex];
78
$('k').value = o.childNodes[0].innerHTML;
79
}
80
}
81
function gvShow(globalViewstr)
82
...{var doubleit = globalViewstr.split("&8&8&");
83
SendResult("qq", doubleit[0].split(
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>
2
<
HTML
>
3
<
HEAD
>
4
<
TITLE
>
New Document
</
TITLE
>
5
<
META
NAME
="Generator"
CONTENT
="EditPlus"
>
6
<
META
NAME
="Author"
CONTENT
=""
>
7
<
META
NAME
="Keywords"
CONTENT
=""
>
8
<
META
NAME
="Description"
CONTENT
=""
>
9

<
style
>
...
10

#ul1{...}{width:360px;border:1px solid #A2A2A2; background-color:#f1f9fe;z-index:3; padding:0 0 0 2px; } 11

#ul1 li{...}{width:360px; list-style-type:none; margin-bottom:2px; padding:0px;} 12

.leftspan{...}{ 13
float:left; font-weight:normal; font-size:11px; 14
} 15

.rightspan{...}{ 16
float:right;font-weight:normal;font-size:10px; color:Green; 17
} 18
</
style
>
19
</
HEAD
>
20
21
<
BODY
>
22

<
script
language
="javascript"
>
...
23
var k='在这里输入文字'; 24
document.write('<ul id="ul1" style="display:none;position:absolute;"></ul><form id="frmhead" name="frmhead" onsubmit="javascript:return subcheck()" action="/Search.aspx" method="get" ><li style="width:400px !important;width:300px;"><input id="k" size="69" maxlength="80" autocomplete="off" name="k" class="kind_textbox_search_border" onkeyup="keyup1();" onblur="if (this.value == /'/') {this.value = /'赶快体验强劲视频搜索!/';};$(/'ul1/').style.display = /'none/';" onfocus="if (this.value == /'赶快体验强劲视频搜索!/') {this.value = /'/';}" value="'+k+'" /><input type="submit" value=" 立即搜索 " class="btnval" /></form><li><a onclick="this.style.behavior=/'url(#default#homepage)/';this.setHomePage(/'http://www.svnhost.cn/');" href="#">设为首页</a>'); 25
var selectIndex = -1; 26
var lastObject = null; 27
var lastValue = ''; 28
var globalViewstr = ""; 29
var yobj = new ActiveXObject("Scripting.Dictionary"); 30
var gtag = 1; 31
var avg = new Object(); 32

function closediv(obj)...{$(obj).style.display = "none";} 33

function showdiv(obj)...{$(obj).style.display = "block";} 34

String.prototype.trim = function()...{ return this.replace(/(^[/s]*)|([/s]*$)/g, ""); } 35

function $() ...{var elements = new Array(); for (var i = 0; i < arguments.length; i++) ...{ 36
var element = arguments[i]; 37
if (typeof element == 'string') 38
element = document.getElementById(element); 39
if (arguments.length == 1) 40
return element; 41
elements.push(element);} 42
return elements;} 43

function $F(obj)...{return $(obj).value;} 44

function submitit()...{closediv('ul1');} 45
function mouseoverz1() 46

...{ 47
var e = event || window.event; 48
selectIndex = parseInt(e.srcElement.getAttribute('index')); 49
UpdateSelected(); 50
} 51
function subcheck() 52

...{ 53
if($F('k').trim()=='' || $F('k').trim()=='赶快体验强劲视频搜索!') 54

...{ 55
$('k').focus(); 56
return false; 57
} 58
frmgiveValue(); 59
return true; 60
} 61
function btncsave() 62

...{ 63
if($F('k').trim()=='' || $F('k').trim()=='赶快体验强劲视频搜索!') 64

...{ 65
$('k').focus(); 66
return; 67
} 68
else 69

...{ 70
document.frmhead.submit(); 71
} 72
} 73
function writecontentv1() 74

...{ 75
if(selectIndex!=-1&&$('ul1').style.display != "none") 76

...{ 77
var o = $('ul1').childNodes[selectIndex]; 78
$('k').value = o.childNodes[0].innerHTML; 79
} 80
} 81
function gvShow(globalViewstr) 82

...{var doubleit = globalViewstr.split("&8&8&"); 83
SendResult("qq", doubleit[0].split(
下图是执行效果,请各位高手指点
本文介绍了一种使用纯JavaScript实现的简单搜索智能提示功能。该功能可在用户输入时提供匹配建议,提升用户体验。文中提供了完整的HTML和JavaScript代码示例。
154

被折叠的 条评论
为什么被折叠?



