使用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中的property和attribute介绍
Dec 26 Javascript
iframe里使用JavaScript控制主页转向的方法
Apr 03 Javascript
最新最热最实用的15个jQuery插件汇总
Jul 05 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
有关Promises异步问题详解
Nov 13 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
Sep 23 Javascript
原生和jQuery的ajax用法详解
Jan 23 Javascript
详解vue嵌套路由-query传递参数
May 23 Javascript
微信小程序使用component自定义toast弹窗效果
Nov 27 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
vue-cli 关闭热更新操作
Sep 18 Javascript
实现vuex原理的示例
Oct 21 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获取操作系统语言代码
2013/11/04 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
JavaScript中Function详解
2015/02/27 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
require.js中的define函数详解
2017/07/10 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python中转换角度为弧度的radians()方法
2015/05/18 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
关于Python作用域自学总结
2019/06/10 Python
Python多分支if语句的使用
2020/09/03 Python
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
电气工程自动化求职信
2014/03/14 职场文书
环境科学专业求职信
2014/08/04 职场文书
九九重阳节标语
2014/10/07 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
争做文明公民倡议书
2019/06/24 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
python实现A*寻路算法
2021/06/13 Python