⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 suggest.js

📁 本系统实现了从五个网站上搜索的图书进行整合后
💻 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 + -