实现在静态网页内的查找的特效代码,代码如下:
\n
你可以输入’脚本’查查看<BR>
查找页面中的字符
<script language=”JavaScript”>
\n
var NS4 = (document.layers); // Which browser?
var IE4 = (document.all);
\n
var win = window; // window to search.
var n = 0;
\n
function findInPage(str) {
\n
var txt, i, found;
\n
if (str == “”)
return false;
\n
// Find next occurance of the given string on the page, wrap around to the
// start of the page if necessary.
\n
if (NS4) {
\n
// Look for match starting at the current point. If not found, rewind
// back to the first match.
\n
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
\n
// If not found in either direction, give message.
\n
if (n == 0)
alert(“Not found.”);
}
\n
if (IE4) {
txt = win.document.body.createTextRange();
\n
// Find the nth match from the top of the page.
\n
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart(“character”, 1);
txt.moveEnd(“textedit”);
}
\n
// If found, mark it and scroll it into view.
\n
if (found) {
txt.moveStart(“character”, -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
\n
// Otherwise, start over at the top of the page and find first match.
\n
else {
if (n > 0) {
n = 0;
findInPage(str);
}
\n
// Not found anywhere, give message.
\n
else
alert(“Not found.”);
}
}
\n
return false;
}
\n
</script>
<form name=”search” onSubmit=”return findInPage(this.string.value);”>
<font size=3><input name=”string” type=”text” size=15 onChange=”n = 0;”></font>
<input type=”submit” value=”Find”>
</form>