使用jQuery简单实现模拟浏览器搜索功能
写的匆忙,示意一下,有待完善。把以下代码复制到文本文件中,把文件扩展名改为.html就可以运行了。
<html>
<head>
<style type="text/css">
.res
{
color: Red;
}
</style>
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var oldKey = "";
var index = -1;
var pos = new Array();
var oldCount = 0;
function search(flg) {
if (!flg) {
index++;
index = index == oldCount ? 0 : index;
}
else {
index--;
index = index < 0 ? oldCount - 1 : index;
}
$(".result").removeClass("res");
$("#toresult").remove();
var key = $("#key").val(); //取key值
if (!key) {
oldKey = "";
return; //key为空则退出
}
if (oldKey != key) {
//重置
index = 0;
$(".result").each(function () {
$(this).replaceWith($(this).html());
});
pos = new Array();
$("body").html($("body").html().replace(new RegExp(key, "gm"), "<span id='result" + index + "' class='result'>" + key + "</span>")); // 替换
$("#key").val(key);
oldKey = key;
$(".result").each(function () {
pos.push($(this).offset().top);
});
oldCount = $(".result").length;
}
$(".result:eq(" + index + ")").addClass("res");
$("body").scrollTop(pos[index]);
}
</script>
</head>
<body>
<div style="position: fixed; right: 20px; top: 0;">
<input id="key" type="text" style="width: 100px;" />
<input type="button" value="下一个" onclick="search()" />
<input type="button" value="上一个" onclick="search(1)" />
</div>
<div style="height: 50px;">
</div>
<div style="height: 200px;">
1待搜索的文本。
</div>
<div style="height: 200px;">
2待搜索的文本。
</div>
<div style="height: 200px;">
3待搜索的文本。
</div>
<div style="height: 200px;">
4待搜索的文本。
</div>
<div style="height: 200px;">
5待搜索的文本。
</div>
<div style="height: 200px;">
10美丽的家乡。
</div>
<div style="height: 200px;">
11美丽的家乡。
</div>
<div style="height: 200px;">
12美丽的家乡。
</div>
<div style="height: 200px;">
13美丽的家乡。
</div>
<div style="height: 200px;">
14美丽的家乡。
</div>
<div style="height: 200px;">
15美丽的家乡。
</div>
</body>
</html>
这里主要是个大家提供一个思路,小伙伴们等不及的话就自己完善下吧。
相关文章
利用JQuery实现datatables插件的增加和删除行功能
这篇文章给大家介绍了jquery实现datatables插件的增加和删除行的功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下2017-01-01用jQuery解决IE不支持的option disable属性
使用jQuery解决IE不支持的option disable属性2009-05-05jQuery动态添加可拖动元素完整实例(附demo源码下载)
这篇文章主要介绍了jQuery动态添加可拖动元素的方法,可实现简单的点击添加元素,并且添加的元素可进行拖动操作.涉及jQuery响应鼠标事件动态操作页面元素的相关技巧,需要的朋友可以参考下2016-06-06
最新评论