ホームページ ウェブフロントエンド jsチュートリアル Webページ検索機能のjquery実装の共有例 function_jquery

Webページ検索機能のjquery実装の共有例 function_jquery

May 16, 2016 pm 05:00 PM
検索機能 ウェブページ

この記事では、駅名の検索を例として、ユーザーがキーワードを入力して検索ボタンをクリックするか Enter キーを押すと、駅のチケット時刻ページを見つける 12306 公式 Web サイトの効果を模倣します。定期的なマッチングにより、内容を正確かつ迅速にマッチングします。 ページ位置が最初に一致した位置までスクロールし、関連情報が表示されます (この例では、追加情報は駅のチケット販売開始時間です)。

HTML

このページには、検索するキーワードを入力するための入力ボックスと検索ボタンを配置し、その後に n < を含むメイン コンテンツ #content を配置する必要があります。 p>、つまり、各時間帯で切符が販売される駅の名前です。

コードをコピー コードは次のとおりです:



セール中8:00 駅から
安陽、白城、北京西、成都東、大慶、大慶西、東莞、東莞東、恵州、金華南、金雲、九江、蘭州、麗水、臨汾、南充、
チチハル、青天、日照、山海関、汕頭、松原、温州、ウランホト、ウルムチ、武昌、武夷、西安、永康、運城。


....n ps はここでは省略されています

CSS

ページコンテンツの簡単なCSS設定は、それぞれ検索結果の強調表示と情報プロンプトボックスの表示のスタイル効果を設定するために使用されます。それを紹介します。

コードをコピーします コードは次のとおりです。

#search_box { 背景: 不透明度: 0.8; テキスト -align:right }
#search_btn { 背景: #0f79be; 境界線: 2px; 境界線: 100px;白; }
#searchstr { フォントサイズ: 14px; 高さ: 20px; }
.highlight { 背景: #ffc; #999; 幅: 110px; テキスト整列: 中央;



jQuery

まず、固定 div の効果を実現する必要があります。つまり、ページが下にスクロールすると、検索に使用される入力ボックスとボタンが常にページの上部に固定され、検索が容易になります。検索を続けます。



コードをコピーします コードは次のとおりです:

(function($) {
$.fn.fixDiv = function(options) {
vardefaultVal = {
top: 10
};
var obj = $.extend(defaultVal, options);
$this = this;
var _top = $this.offset().top;
var _left = $this.offset().left; $(window).scroll(function() {
var _currentTop = $this.offset().top;
var _scrollTop = $(document).scrollTop();
if (_scrollTop > _top ) {
$this.offset({
top: _scrollTop obj.top,
left: _left
});
} else {
$this.offset({
上: _top,
左: _left
})
}); > $this
})(jQuery);



次に、私は fixDiv() を使用します。



代制

代次:$(function(){ $("#search_box").fixDiv({ top: 0 });
});



次に、最も関連するリンクの実行機能です。関連するリンクの文字を入力すると、ポイントを選択するか、移動するボタンをポイントし、チェック関数highlight()を使用します。



复制代

代码如下:$(function(){ ...
$('#search_btn').click (ハイライト);//点击検索時,执行ハイライト関数;
$('#searchstr').keydown(function (e) {
var key = e.that;
if (key == 13) ハイライト();
})
...
});



在関数highlight()必要做多事情,1.清空上次高亮表示内容,2.隐藏并清空示唆信息,3.入力内容が空の情況であるか判断する,4.获取入力の关键字,并トップページの内容と正確にマッチングし、フラグで結果を検出し、その結果を強調表示し、5. 検出結果の量に応じて、提案情報の内容と位置のずれ量を判断し、位置を決めて提案情報を表示する。代:

复制代码

代码如下:

$(function(){
...
var i = 0;
var sCurText;
function hidden(){
clearSelection();//First最後の強調表示されたコンテンツをクリアします。

var flag = 0;

$('#tip').text(''); '#tip').hide();
var searchText = $('#searchstr').val();
var _searchLeft = $('#searchstr').offset(); ;
if($.trim(searchText)==""){
showTips("検索ステーション名を入力してください",_searchTop,3,_searchLeft);
; キーワード
var regExp = new RegExp(searchText, 'g');//正規表現を作成します。g はグローバルを意味します。g が使用されない場合、
var regExp = new RegExp(searchText, 'g'); // 検索は行われません。最初のものを見つけてから続行します。
var content = $("#content").text();
if (!regExp.test(content)) {
showTips("ステーション探していたものが見つかりませんでした" ,_searchTop,3,_searchLeft);
sCurText = searchText; > } }
単語の置換、ハイライト属性の追加
var newHtml = html.replace(regExp, '' searchText ''); $(".highlight").size; () > 1) {
var _top = $(".highlight").eq(i).offset().top $(".highlight").eq( i).height(); > var _tip = $(".highlight").eq(i).parent().find("strong").text();
if(_tip==" ") _tip = $(".highlight ").eq(i).parent().parent().find("strong").text();
var _left = $(".highlight"). eq(i).offset(). left;
var _tipWidth = $("#tip").width(); _left = _left - _tipWidth;
$("#tip").html(_tip).show();
$("#tip").offset({ 上: _top, 左: _left });
$("#search_btn").val("查找下一个");
}else{
var _top = $(".highlight").offset().top $(".highlight").height();
var _tip = $(".highlight").parent().find("strong").text();
var _left = $(".highlight").offset().left;
$('#tip').show();
$("#tip").html(_tip).offset({ 上: _top, 左: _left });
}
$("html, body").animate({scrollTop: _top - 50 });
私;
if (i > $(".highlight").size() - 1) {
i = 0;
}
}
}
...
});

前述の代コードで提示されたclearSelection() 関数を使用して、清空高輝度効果、代コードのとおり:

复制代 代码如下:

function clearSelection(){
$('p ').each(function(){
//すべてのハイライトプロパティの要素;
$(this).find('.highlight').each(function(){
$(this) .replaceWith($(this).html());// 将他们的属性去掉;
});
}

最後に、showTips() 関数が追加されます。この関数は、キーワード入力後の検索結果を示す情報を表示するために使用されます。

复制代码代码如下:

$(function(){
vartipsDiv = '
';
$( 'body' ).append(tipsDiv ) ;
function showTips(tips, height, time,left ){
var windowWidth = document.documentElement.clientWidth;
$('.tipsClass').text(tips); div.tipsClass' ).css({
'top' : 高さ 'px',
'left' :left 'px',
'position' : 'absolute',
'padding' : '8px 6px',
'background': '#000000',
'font-size' : 14 'px',
'font-weight': 900,
'margin' : '0 auto',
'text-align': 'center',
'width' : 'auto',
'color' : '#fff',
'border-radius': '2px',
'opacity' : '0.8' ,
'box-shadow':'0px 0px 10px #000',
'-moz-box-shadow':'0px 0px 10px #000 ',
'-webkit-box-shadow':'0px 0px 10px #000'
}).show();
setTimeout( function(){$( 'div.tipsClass' ).fadeOut ();}, ( 時間 * 1000 ) ); 
}
});

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

EdgeブラウザのショートカットとしてWebページをデスクトップに送信するにはどうすればよいですか? EdgeブラウザのショートカットとしてWebページをデスクトップに送信するにはどうすればよいですか? Mar 14, 2024 pm 05:22 PM

Edge ブラウザのショートカットとして Web ページをデスクトップに送信するにはどうすればよいですか?多くのユーザーは、アクセスページを直接開くことができるように、頻繁に使用する Web ページをデスクトップにショートカットとして表示したいと考えていますが、その方法がわかりません。この問題に応えて、この号の編集者は大多数のユーザーが解決策を考えているので、今日のソフトウェア チュートリアルで共有されているコンテンツを見てみましょう。 Edge ブラウザで Web ページをデスクトップに送信するショートカット方法: 1. ソフトウェアを開き、ページ上の「...」ボタンをクリックします。 2. ドロップダウン メニュー オプションから [アプリケーション] で [このサイトをアプリケーションとしてインストールする] を選択します。 3. 最後に、ポップアップウィンドウでそれをクリックします

Web ページが開けないのはなぜですか? Web ページが開けないのはなぜですか? Jun 26, 2023 am 11:49 AM

Web ページを開けない理由は次のとおりです: 1. コンピューターのローカル接続が無効になっている; 2. ダイヤルアップ インターネット アカウントとパスワードが正しく入力されていない; 3. ルーターの障害またはルーターの設定に問題がある; 4. DNS エラーのため、IE が Web ページを開けません; 5. hosts ファイルが変更されているため、IE が Web ページを開けません; 6. IP アドレスが正しく設定されていないか、取得に失敗しているため、IE が Web ページを開けません。

JavaScriptを使用したWeb投票システムの開発 JavaScriptを使用したWeb投票システムの開発 Aug 09, 2023 pm 01:30 PM

JavaScript を使用した Web 投票システムの開発 要約: インターネットの急速な発展に伴い、オンライン投票は世論を収集し意思決定を行うための便利で迅速な方法になりました。この記事では、JavaScript を使用して、ユーザーがオプションを選択して投票を送信できるシンプルな Web 投票システムを開発する方法を紹介します。はじめに: Web 投票システムは、Web ページ上に複数の選択肢を表示し、ユーザーが選択できるようにするプログラムです。選挙投票や商品アンケート、意見収集などさまざまなシーンでご利用いただけます。この記事

Webページの自動更新を設定する方法 Webページの自動更新を設定する方法 Oct 26, 2023 am 10:52 AM

Web ページの自動更新を設定するには、HTML の「meta」タグ、JavaScript の「setTimeout」関数、「setInterval」関数、または HTTP の「Refresh」ヘッダーを使用できます。詳細な紹介: 1. HTML の「meta」タグを使用します。HTML ドキュメントの「<head>」タグで、「meta」タグを使用して Web ページの自動更新を設定できます。2. 「setTimeout」 JavaScriptの「機能」など

Webページにアクセスできない場合の対処方法 Webページにアクセスできない場合の対処方法 Sep 06, 2023 am 09:36 AM

アクセスできない Web ページの解決策には、ネットワーク接続の確認、ブラウザのキャッシュのクリア、Web ページのアドレスの確認、他のブラウザの使用の試行、サーバーのステータスの確認、ドメイン名の解決の確認、ファイアウォールとセキュリティの設定の確認、Web サイト管理者への連絡などが含まれます。 。詳細な紹介: 1. ネットワーク接続をチェックして、ネットワーク接続が正常であることを確認します。他の Web ページを開いたり、他のデバイスを使用してアクセスしたりして、ネットワーク接続に問題があるかどうかを判断できます。他の Web ページに正常にアクセスできるかどうかを確認します。 、Webページに問題がある可能性があります; 2.ブラウザのキャッシュをクリアする. ブラウザのキャッシュにより、Webページの読み込みに失敗するなどの原因となる場合があります。

Web ページ上の画像を読み込めない場合はどうすればよいですか? 6つのソリューション Web ページ上の画像を読み込めない場合はどうすればよいですか? 6つのソリューション Mar 15, 2024 am 10:30 AM

一部のネチズンは、ブラウザの Web ページを開いたときに、Web ページ上の画像が長時間読み込めないことに気づきました。何が起こったのでしょうか?ネットワークは正常であることを確認しましたが、どこに問題があるのでしょうか?以下のエディタでは、Web ページの画像が読み込めない問題に対する 6 つの解決策を紹介します。 Web ページの画像を読み込めない: 1. インターネット速度の問題 Web ページに画像が表示されません。これは、コンピュータのインターネット速度が比較的遅く、コンピュータ上で開いているソフトウェアが多いためと考えられます。また、アクセスする画像が比較的大きいため、読み込みタイムアウトが原因である可能性があります。その結果、画像が表示されません。ネットワーク速度をより多く消費するソフトウェアをオフにすることができます。タスク マネージャーに移動して確認できます。 2. 訪問者が多すぎる Web ページに写真が表示されない場合は、訪問した Web ページが同時に訪問されたことが原因である可能性があります。

ネットワーク接続は正常であるにもかかわらず、ブラウザが Web ページにアクセスできない場合の考えられる理由 ネットワーク接続は正常であるにもかかわらず、ブラウザが Web ページにアクセスできない場合の考えられる理由 Feb 19, 2024 pm 03:45 PM

ブラウザは Web ページを開けませんが、ネットワークは正常です。多くの理由が考えられます。この問題が発生した場合は、段階的に調査して具体的な原因を特定し、問題を解決する必要があります。まず、Web ページを開けないのは特定のブラウザに限定されているのか、それともすべてのブラウザで Web ページを開けないのかを判断します。 1 つのブラウザだけで Web ページを開けない場合は、テストのために Google Chrome、Firefox などの他のブラウザを使用してみることができます。他のブラウザでページを正しく開くことができる場合、問題はその特定のブラウザにある可能性があります。

Webページが開けない場合の対処法 Webページが開けない場合の対処法 Feb 21, 2024 am 10:24 AM

Web ページが開かない問題を解決する方法 インターネットの急速な発展に伴い、人々は情報を取得し、通信し、娯楽するためにますますインターネットに依存するようになりました。しかし、時々Webページが開けないという問題に遭遇し、多くのトラブルを引き起こします。この記事では、Web ページが開かない問題を解決するための一般的な方法をいくつか紹介します。まず、Web ページを開けない理由を特定する必要があります。考えられる原因には、ネットワークの問題、サーバーの問題、ブラウザの設定の問題などが含まれます。以下にいくつかの解決策を示します: ネットワーク接続を確認します: まず、

See all articles