js实现ctrl+F查找(转)

小记一下,js实现ctrl+F查找功能:

<script type="text/javascript">       

        var DOM = (document.getElementById) ? 1 : 0;

        var NS4 = (document.layers) ? 1 : 0;

        var IE4 = 0; if (document.all) { IE4 = 1; DOM = 0; }
        var win = window;

        var n = 0;
        function findIt() {

            if (document.getElementById("searchstr").value != "")

                findInPage(document.getElementById("searchstr").value);

        }

        function findInPage(str) {

            var txt, i, found;
            if (str == "")

                return false;
            if (DOM) {

                win.find(str, false, true);

                return true;

            }
            if (NS4) {

                if (!win.find(str))

                    while (win.find(str, false, true))

                        n++;

                else

                    n++;
                if (n == 0)

                    alert("未找到指定内容.");

            }
            if (IE4) {

                txt = win.document.body.createTextRange();
                for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {

                    txt.moveStart("character", 1);

                    txt.moveEnd("textedit");

                }
                if (found) {

                    txt.moveStart("character", -1);

                    txt.findText(str);

                    txt.select();

                    txt.scrollIntoView();

                    n++;

                } else {

                    if (n > 0) {

                        n = 0;

                        findInPage(str);

                    } else

                        alert("未找到指定内容.");
                }
            }
            return false;
        }    
    </script>

  <input type="text" class="edit_seachrTxt" id="searchstr" name="searchstr" />
     <label class="lableBtn"><input type="button" class="edit_seachrBtn" value="查找并选择" οnclick="javascript:findIt()" /></label>

 

 

转载于:https://www.cnblogs.com/aaronguo/archive/2012/06/14/2549254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值