📄 suggest.js
字号:
/**
*<br>js名:keywordToSuggest
*<br>作 用:动态获取与输入内容相关的历史搜索内容
*<p>@author searchforyou
*<p>@since 2008.9.20
*/
var j = -1;
var temp_str;
var $ = function (node) {
return document.getElementById(node);
};
var $$ = function (node) {
return document.getElementsByTagName(node);
};
//去调用后台的KeywordsSuggest类
function ajax_keyword(keywords) {
//对搜索内容编码处理
var keyword = encodeURI(keywords);
//创建与后台通信对象
var xmlhttp;
try {
xmlhttp = new XMLHttpRequest();
}
catch (e) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//设置回调函数,处理返回的数据
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var data = xmlhttp.responseText;
$("suggest").innerHTML = data;
j = -1;
}
}
};
//打开连接,并传递参数给后台
xmlhttp.open("POST", "keywordSuggest.do?keyword=" + keyword, true);
//指定请求的某个http头
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//发送请求
xmlhttp.send("");
}
//处理键盘弹起事件
function keyupdeal(e) {
var keyc;
if (window.event) {
keyc = e.keyCode;
} else {
if (e.which) {
keyc = e.which;
}
}
//如果不是上下移动键,则去执行ajax_keyword函数,调用后台方法进行处理
if (keyc != 40 && keyc != 38) {
if ($("keyWord").value != "" && $("keyWord").value != null) {
//获得当前输入的内容
var nowkeyword = $("keyWord").value;
ajax_keyword(nowkeyword);
temp_str = $("keyWord").value;
}
}
}
//设置样式
function set_style(num) {
for (var i = 0; i < $$("li").length; i++) {
var li_node = $$("li")[i];
li_node.className = "";
}
if (num >= 0 && num < $$("li").length) {
var i_node = $$("li")[num];
$$("li")[j].className = "select";
}
}
//处理鼠标滑过事件
function mo(nodevalue) {
j = nodevalue;
set_style(j);
}
//处理鼠标点击事件
function form_submit() {
if (j >= 0 && j < $$("li").length) {
$("keyWord").value = $$("li")[j].childNodes[0].nodeValue;
}
if ($("keyWord").value != "" && $("keyWord").value != null) {
$("searchform").submit();
}
}
//隐藏关键字提示图层
function hide_suggest() {
var nodes = document.body.childNodes;
for (var i = 0; i < nodes.length; i = i + 1) {
if (nodes[i] != $("keyWord")) {
$("suggest").innerHTML = "";
}
}
}
//处理键盘上的键按下事件
function keydowndeal(e) {
var keyc;
if (window.event) {
keyc = e.keyCode;
} else {
if (e.which) {
keyc = e.which;
}
}
if (keyc == 40 || keyc == 38) {
if (keyc == 40) {
if (j < $$("li").length) {
j++;
if (j >= $$("li").length) {
j = -1;
}
}
if (j >= $$("li").length) {
j = -1;
}
}
if (keyc == 38) {
if (j >= 0) {
j--;
if (j <= -1) {
j = $$("li").length;
}
} else {
j = $$("li").length - 1;
}
}
set_style(j);
if (j >= 0 && j < $$("li").length) {
$("keyWord").value = $$("li")[j].childNodes[0].nodeValue;
} else {
$("keyWord").value = temp_str;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -