网页中加入类似于ctrl+f这样的本页面查找功能如何实现?
网页中加入类似于ctrl+f这样的本页面查找功能如何实现?
这是对于比较长的静态页面的一个检索功能,以前经常在网站上有看到,现在有这个需求,却找不到这样的页面,不知道哪位有,能帮忙一下。谢谢
问题点数:20、回复次数:2Top
1 楼junsunchen(渴望高飞的人)回复于 2003-09-04 19:44:05 得分 20
function document_onKeyDown()
{
if(window.event.ctrlKey&&window.event.keyCode==70)
{
find()
}
}
Top
2 楼bincon()回复于 2003-09-04 21:17:54 得分 0
请输入您要查询的字串:
<input onChange="n = 0;" size=15 name="string" value="" onKeyPress="if (event.keyCode == 13) {return findInPage( this.value);}">
<input type=button value=" 查找" onClick="findInPage(string.value);" name="button">
<SCRIPT language=JavaScript>
var NS4 = (document.layers);
var IE4 = (document.all);
var win = window;
var n = 0;
function findInPage(str) {
var txt, i, found;
if (str == "")
{
alert("您没有输入姓名!");
return false;
}
str=lTrim(rTrim(str));
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0)
alert("没有找到,感谢您对我们活动的支持,谢谢!");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.scrollIntoView();
txt.select();
txt.moveEnd("textedit");
n++;
}
else {
if (n >0) {
n = 0;
findInPage(str);
}
else
alert("没有找到,感谢您对我们活动的支持,谢谢!");
}
}
return false;
}
function lTrim(str)
{
if (str.charAt(0) == " ")
{
str = str.slice(1);
str = lTrim(str);
}
return str;
}
function rTrim(str)
{
var iLength;
iLength = str.length;
if (str.charAt(iLength - 1) == " ")
{
str = str.slice(0, iLength - 1);
str = rTrim(str);
}
return str;
}
</SCRIPT>Top




