首頁 web前端 js教程 jquery實作網頁查找功能範例分享_jquery

jquery實作網頁查找功能範例分享_jquery

May 16, 2016 pm 05:00 PM
尋找功能 網頁

本文以查找車站名為例,仿12306官網查找車站售票時間頁面效果,當用戶輸入關鍵字點擊查找按鈕或按回車鍵時,jQuery通過正則匹配內容,準確匹配關鍵字,並迅速將頁面定位捲動到第一個符合的位置,並顯示相關資訊(本例中附加資訊為車站開始售票時間)。

HTML

頁需要放置一個輸入框用來輸入要找的關鍵字,以及一個查找按鈕,然後是主體內容#content,裡麵包含著n個

,即每個時段開售車票的車站名。
 

複製程式碼 程式碼如下:
 
   


   

8:00 起售車站

  安陽、白城、北京西、成都東、大慶、大慶西、東莞、東莞東、惠州、金華南、縉雲、九江、蘭州、麗水、臨終關懷、南充、
齊齊哈爾、青田、日照、山海關、山頭、松原、溫州、烏蘭浩特、烏魯木齊、武昌、武義、西安、永康、運城。


    ....此處省略n個p



CSS


簡單的對頁面內容進行CSS設置,其中.highlight和#tip分別用來設置查找結果高亮顯示和資訊提示框顯示的樣式效果,後面我們會介紹到。


複製程式碼 程式碼如下:
#search_box { background: white; opacity: 0.8; -align:right }
#search_btn { background: #0f79be; margin-top: 6px; border-radius: 2px; border: 0px; 
width: 100px; line-height: 24px; color: whitex;
#searchstr { font-size: 14px; height: 20px; }
.highlight { background: yellow; color: red; }
#tip { background: #ffc; border: 1px solid #999; width: 110px; text-align: center; 
display: none; font-size: 12px; }


jQuery

首先,我們要實現一個固定div的效果,就是當頁面往下拉滾動時,用於查找的輸入框和按鈕始終固定在頁面的最頂部,方便繼續查找。

 

複製程式碼 程式碼如下:

(function($) {
    $.fn.fixDiv = 函數(選項) {
            };
        var obj = $.extend(defaultVal, options);
        $this = this;
        var _top = $this.offset().top;
   var _top = $this.offset().top;
    (function() {
            var _currentTop = $this.offset().top;
              if (_scrollTop > _top ) {
                $this .offset({
                    top: _scrollTop obj.top,
                });
            } else {
                上方:_top ,
                       }); 回傳$this; >})(jQuery);



接著,我們呼叫fixDiv()。 🎜>$(function(){
    $("#search_box").fixDiv({ top: 0 });
});



接下來,最關鍵的實作查找功能。
複製程式碼
程式碼如下:



$(function(){

    ...   (highlight);//點擊search時,執行highlight函數;     $('#searchstr').keydown(function (e) {         13) 反白();     })     ... });


在函數highlight()中需要做很多事情,1.清空上次高亮顯示內容,2.清空提示訊息,3.判斷輸入內容為空的情況,4.取得輸入的關鍵字,並隱藏與頁面內容進行正規匹配,並用標誌標記查找到結果,將查找結果高亮顯示,5.根據查找結果的數量,確定提示信息的內容和位置偏移量,準確定位並顯示提示信息。代碼:


複製程式碼

程式碼如下:

$(function(){
    ...
    var i = 0;
    var sCurText;
        var flag = 0;
        var bStart = true;
        $('#tip').hide();
        var searchText = $('#searchstr .); top 30;
        var _searchLeft = $('#searchstr').offset().left;
       查找車站名",_searchTop,3,_searchLeft);
            return;
        } ').val();//取得你輸入的關鍵字;
        var regExp = new RegExp(searchText, 'g');//創建正規表示式,g表示全域的,如果不用g,
    向下查找了;
        var content = $("#content").text();
        if (!regExp.test(content)) {             return;
        } }               i = 0;
               >        }
        //高亮顯示
        $('p').each(function(            //將找到的關鍵字替換,加上highlight屬性;
            var newHtml = html.replace(regExp, '' searchText '');             flag = 1;
        });
            if ($(" .highlight").size() > 1) {
                var _top = $(".highlight").eq(i)。 ();
                var _tip = $(".highlight").eq(i).parent().find("strong")。 ) _tip = $(".highlight").eq(i).parent().parent().find("strong").text();
               .offset().left;
                var _tipWidth = $("#tip").width();                     _left = _left - _tipWidth;
                }
                $("#tip").html(_tip).show();
                $("#tip").offset({ 上方: _top, 左: _left });
                $("#search_btn").val("找出下一個");
            }else{
                var _top = $(".highlight")..
                var _tip = $(".highlight").parent().find("strong").text();
                var _left = $(".highlight").offset().left;
                $('#tip').show();
                $("#tip").html(_tip).offset({ top: _top, left: _left });
            }
            $("html, body").animate({scrollTop: _top - 50 });
            我;
            if (i > $(".highlight        if (i > $(".highlight        if (i > $(".highlight  
            }
        }
    }
     


上述程式碼中提到的clearSelection()函數用於清空高亮效果,程式碼如下:

 

).each(function(){
            // 找出所有highlight屬性的元素;
          p(this).find('.light).find('.light).        $(this) . ReplaceWith($(this).html());//將它們的屬性去掉;
            });
        });
}



最後加上showTips()函數,該函數用於顯示在輸入查找關鍵字後的查找結果提示資訊。
 

複製程式碼

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Edge瀏覽器怎麼將網頁用捷徑傳送到桌面? Edge瀏覽器怎麼將網頁用捷徑傳送到桌面? Mar 14, 2024 pm 05:22 PM

  Edge瀏覽器怎麼將網頁用捷徑傳送到桌面?我們很多用戶為了方便直接打開訪問頁面,想要將經常使用的網頁以快捷方式的形式顯示在桌面,但是不知道應該如何操作,針對這個問題,本期小編就來和廣大用戶們分享解決方法,一起來看看今日軟體教學分享的內容。  Edge瀏覽器將網頁傳送到桌面捷徑方法:  1、開啟軟體,點選頁面中的「...」按鈕。  2、在下拉式選單選項中選擇「應用」中的「將此網站作為應用程式安裝」。  3、最後在彈出的視窗中將其

使用JavaScript開發網頁投票系統 使用JavaScript開發網頁投票系統 Aug 09, 2023 pm 01:30 PM

使用JavaScript開發網頁投票系統摘要:隨著互聯網的飛速發展,網上投票成為了一種方便快捷的方式,用於收集公眾的意見和做出決策。本文將介紹使用JavaScript開發一個簡單的網頁投票系統,實作了使用者可以選擇選項並提交投票的功能。介紹:網頁投票系統是一個在網頁上顯示多個選項並允許使用者選擇的程式。它可以用於許多場景,例如選舉投票、產品調查、意見收集等。本文

網頁打不開是什麼原因 網頁打不開是什麼原因 Jun 26, 2023 am 11:49 AM

網頁打不開的原因有:1、電腦的本地連線被停用;2、撥接上網帳號與密碼輸入不正確;3、路由器故障或路由器設定出現問題;4、由DNS錯誤導致的IE打不開網頁;5.hosts檔案被修改導致的IE打不開網頁;6、IP位址設定錯誤或取得失敗導致IE打不開網頁。

網頁圖片載入不出來怎麼辦? 6種解決辦法 網頁圖片載入不出來怎麼辦? 6種解決辦法 Mar 15, 2024 am 10:30 AM

  有網友發現打開瀏覽器網頁,網頁上的圖片遲遲加載不出來,是怎麼回事?檢查過網路是正常的,那是哪裡出現了問題呢?下面小編就來跟大家介紹一下網頁圖片載入不出來的六種解決方法。網頁圖片載入不出來:  1、網速問題網頁顯示不出圖片有可能是因為電腦的網路速度比較慢,電腦中開啟的軟體比較多,  而我們造訪的圖片比較大,這就可能因為載入逾時,導致圖片顯示不出來,  可以將比較佔網速的軟體將關掉,可以去任務管理器查看一下。  2、造訪人數過多  網頁顯示不出圖片還有可能是因為我們造訪的網頁,在同時段造訪的

網頁自動刷新設定方法 網頁自動刷新設定方法 Oct 26, 2023 am 10:52 AM

設定網頁的自動刷新可以使用HTML的「meta」標籤、JavaScript的「setTimeout」函數、「setInterval」函數或HTTP的」Refresh「頭。詳細介紹:1、使用HTML的「meta」標籤,在HTML文件的「<head>」標籤中,可以使用「meta」標籤來設定網頁的自動刷新;2、JavaScript的「setTimeout」函數等等。

網頁無法存取怎麼辦 網頁無法存取怎麼辦 Sep 06, 2023 am 09:36 AM

網頁無法存取的解決方案有檢查網路連線、清除瀏覽器快取、檢查網頁位址、嘗試使用其他瀏覽器、檢查伺服器狀態、檢查網域解析、檢查防火牆和安全設定和聯絡網站管理員等。詳細介紹:1、檢查網絡連接,確保網絡連接正常,可以嘗試打開其他網頁或使用其他設備進行訪問,確定是否是網絡連接問題,如果其他網頁可以正常訪問,那麼可能是該網頁的問題;2、清除瀏覽器緩存,瀏覽器快取可能導致網頁無法載入等等。

網路連線正常但瀏覽器無法存取網頁可能原因 網路連線正常但瀏覽器無法存取網頁可能原因 Feb 19, 2024 pm 03:45 PM

瀏覽器打不開網頁但是網路正常,可能的原因是多種多樣的。當問題出現時,我們需要逐步排查,才能確定具體的原因並解決問題。首先,確定網頁打不開的現像是侷限於某個特定的瀏覽器或所有瀏覽器都無法開啟網頁。如果只有一個瀏覽器無法開啟網頁,可以嘗試使用其他瀏覽器,如Google瀏覽器、火狐瀏覽器等進行測試。如果其他瀏覽器能夠正常開啟網頁,那麼問題很可能出在該特定瀏覽器上,可能

網頁打不開怎麼解決 網頁打不開怎麼解決 Feb 21, 2024 am 10:24 AM

網頁打不開怎麼解決隨著網路的快速發展,人們越來越依賴網路來獲取資訊、進行交流和娛樂。然而,有時我們會遇到網頁打不開的問題,這給我們帶來了很多困擾。本文將為大家介紹一些常見的方法,幫助解決網頁打不開的問題。首先,我們要確定是因為什麼原因導致網頁打不開。可能的原因包括網頁問題、伺服器問題、瀏覽器設定問題等。以下是一些解決方法:檢查網路連線:首先,我們需要

See all articles