使用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 拖拉缩放效果
Dec 10 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
jQuery响应enter键的实现思路
Apr 18 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
基于jQuery实现搜索关键字自动匹配功能
Mar 26 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
Jul 10 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
Sep 26 Javascript
Node.js文件编码格式的转换的方法
Apr 27 Javascript
JavaScript使用小插件实现倒计时的方法讲解
Mar 11 Javascript
vue实现路由切换改变title功能
May 28 Javascript
vue使用自定义指令实现拖拽
Jan 29 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中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
js给selected添加options的方法
2015/05/06 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
python递归查询菜单并转换成json实例
2017/03/27 Python
python字符串常用方法
2018/06/14 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
python打印异常信息的两种实现方式
2019/12/24 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
高中军训感言500字
2014/02/24 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫