使用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 相关文章推荐
seajs1.3.0源码解析之module依赖有序加载
Nov 07 Javascript
jquery ztree实现下拉树形框使用到了json数据
May 14 Javascript
js中string转int把String类型转化成int类型
Aug 13 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
Jun 17 Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
vue select组件的使用与禁用实现代码
Apr 10 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
Aug 31 Javascript
JS call()及apply()方法使用实例汇总
Jul 11 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 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生成随机密码的几种方法
2011/01/17 PHP
php提示undefined index的几种解决方法
2012/05/21 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
JQuery从头学起第二讲
2010/07/04 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
python中对list去重的多种方法
2014/09/18 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
python实现TF-IDF算法解析
2018/01/02 Python
深入浅析python 中的匿名函数
2018/05/21 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
美国家具网站:Cymax
2016/09/17 全球购物
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
怎样写好创业计划书的内容
2014/02/06 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
2016年春节问候语
2015/11/11 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers