使用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 无提示关闭窗口脚本
Aug 17 Javascript
MooTools 1.2介绍
Sep 14 Javascript
JavaScript 原型继承
Dec 26 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
jquery得到font-size属性值实现代码
Sep 30 Javascript
完美解决IE低版本不支持call与apply的问题
Dec 05 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
Jan 10 Javascript
详解前端路由实现与react-router使用姿势
Aug 07 Javascript
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
微信小程序之滚动视图容器的实现方法
Sep 26 Javascript
浅入深出Vue之组件使用
Jul 11 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 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的FTP学习(三)
2006/10/09 PHP
php 在线打包_支持子目录
2008/06/28 PHP
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
destoon之一键登录设置
2014/06/21 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
基于Django实现日志记录报错信息
2019/12/17 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
新闻工作者先进事迹
2014/05/26 职场文书
公司地址变更通知
2015/04/25 职场文书
《给予树》教学反思
2016/03/03 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python