使用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 相关文章推荐
用JS剩余字数计算的代码
Jul 03 Javascript
JavaScript SetInterval与setTimeout使用方法详解
Nov 15 Javascript
解决jquery插件冲突的问题
Jan 23 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 Javascript
jQuery EasyUI之DataGrid使用实例详解
Jan 04 Javascript
Boostrap入门准备之border box
May 09 Javascript
Bootstrap Table的使用总结
Oct 08 Javascript
利用node.js如何创建子进程详解
Dec 09 Javascript
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
编写简单的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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python @classmethod 的使用场合详解
2019/08/23 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
遵纪守法演讲稿
2014/05/23 职场文书
妇女工作先进事迹
2014/08/17 职场文书
资料员岗位职责范本
2015/04/13 职场文书
Golang中异常处理机制详解
2021/06/08 Golang