使用jQuery简单实现模拟浏览器搜索功能


Posted in Javascript onDecember 21, 2014

写的匆忙,示意一下,有待完善。把以下代码复制到文本文件中,把文件扩展名改为.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>

这里主要是个大家提供一个思路,小伙伴们等不及的话就自己完善下吧。

Javascript 相关文章推荐
JavaScript实现动态增加文件域表单
Feb 12 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
jQuery队列操作方法实例
Jun 11 Javascript
JQuery表单验证插件EasyValidator用法分析
Nov 15 Javascript
超赞的动手创建JavaScript框架的详细教程
Jun 30 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
JS中的三个循环小结
Jun 20 Javascript
解决webpack打包速度慢的解决办法汇总
Jul 06 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
基于JavaScript获取url参数2种方法
Apr 17 Javascript
编写简单的jQuery提示插件
Dec 21 #Javascript
不使用ajax实现无刷新提交表单
Dec 21 #Javascript
webapp框架AngularUI的demo改造之路
Dec 21 #Javascript
浅析webapp框架AngularUI的demo
Dec 21 #Javascript
AngularJS基础知识
Dec 21 #Javascript
javascript关于继承的用法汇总
Dec 20 #Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
Dec 20 #Javascript
You might like
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
浅析Git版本控制器使用
2017/12/10 Python
用python与文件进行交互的方法
2018/03/01 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python自动生成model文件过程详解
2019/11/02 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
九月份红领巾广播稿
2014/01/22 职场文书
校园活动宣传方案
2014/03/28 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
三八妇女节主持词
2015/07/04 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
JS的深浅复制详细
2021/10/16 Javascript
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs