htmlページ内の関数を検索する
最近、多くの人がフレームワークを変更するに従事し、めまいの頭を見るために毎日コードを見て、しかし、進捗状況はまだかなり大きいと感じ、彼らは背景が物事の異なるデータの範囲の2つのライブラリのフォアグラウンドを表示するように構成することができますが、また、非常に満足して、外に共有する日は、今日最初に機能を行うために数日を言うことはhtmlページ機能を見つけることである。
この関数は、主に文字を入力する検索ボックスで達成するために、前の後ろに次のボタンを押した後、自動的に特別なスタイルのマークとクエリ領域内の文字と一致します、あなたは順序で次のボタンを押すと一致する文字を参照し続けることができる後、別のスタイルで現在の一致する文字は、他の一致する文字と区別するためにです。
フォアグラウンド表示はこのような感じです。
画像
htmlはこんな感じです。
<div class="container" style="z-index: 999" id="searchDiv">
<div class="keyword-search">
Search for.
<input id="key" type="text" style="width: 200px;" placeholder="keyword" />
<a href="javascript:void(0);" class="prev" onclick='wordSearch(1)'><i class="c-icon"></i& gt;</a>
<a href="javascript:void(0);" class="next" onclick='wordSearch()'><i class="c-icon"></i& gt;</a>
</div>
</div>
スクリプトコードです。
{{コードjqueryのメソッドを習得。
eq()セレクタ。セレクタは、指定されたインデックス値を持つ要素を選びます。例えば
は、クラス名対比要素で、クラス名の結果を持つ2番目の要素を選択することです。<script>//Search function var oldKey0 = ""; var index0 = -1; var oldCount0 = 0; var newflag = 0; var currentLength = 0; function wordSearch(flg) { var key = $("#key").val(); //fetch the key value if (!key) { return; // exit if key is empty } getArray(); focusNext(flg); } function focusNext(flg) { if (newflag == 0) {//If new search, index is cleared index0 = 0; } if (!flg) { if (oldCount0 ! if (oldCount0 ! = 0) {//If there is still a search if (index0 < oldCount0) {//left if not finished, go left focusMove(index0); index0++; } else if (index0 == oldCount0) {//all gone index0 = 0; focusMove(index0); index0++; } else { index0 = 0;//not determined focusMove(index0); index0++; } } } else { if (oldCount0 ! = 0) {//If there is still a search if (index0 <= oldCount0 && index0 > 0) {///left if not done, go left index0--; focusMove(index0); } else if (index0 == 0) {//all gone index0 = oldCount0; index0-- focusMove(index0); } } } } function getArray() { newflag = 1; $(".contrast .result").removeClass("res"); var key = $("#key").val(); //take the key value if (!key) { oldKey0 = ""; return; // exit if key is empty } if (oldKey0 ! = key || $(".current").length ! = currentLength) { / index0 = 0; var index = 0; $(".contrast .result").each(function () { $(this).replaceWith($(this).html()); }); pos0 = new Array(); if ($(".contrast-wrap").hasClass("current")) { currentLength = $(".current").length; $(".current .strict").each(function () { $(this).html($(this).html().replace(new RegExp(key, "gm"), "<span id='result" + (index++) + "' class='result'& gt;" + key + "</span>")); // replace }); } else { $(".contrast-wrap").addClass('current'); currentLength = $(".current").length; $(".contrast").each(function () { $(this).html($(this).html().replace(new RegExp(key, "gm"), "<span id='result" + (index++) + "' class='result'& gt;" + key + "</span>")); // replace }); } // $("#key").val(key); oldKey0 = key; // $(".contrast .result").each(function () { // $(this).parents('.contrast-wrap').addClass('current'); // pos0.push($(this).offset().top); //}); // pos0.push($(".contrast .result:eq(2)").offset().top - $(".contrast .result:eq(2)").parents(".contrast" ).offset().top); oldCount0 = $(".contrast .result").length; newflag = 0; } } function focusMove(index0) { $(".contrast .result:eq(" + index0 + ")").paints('.contrast-wrap').addClass('current'); $(".contrast .result:eq("
Learned jquery methods.
eq() selector: The selector picks the element with the specified index value. For example.
$(".contrast .result:eq(1)")
, is to select the second element with the class name result in the class name contrast element.parents() method: all parent elements of the element.
$("p").parents('.contrast-wrap')
All elements of the p element with class name contrast-wrap.replace() method: replace the selected element with the specified html content, note that the elements of the selected element are replaced as well.
offset() method: returns or sets the offset (position) of the matched element relative to the document.
scrollTop() method: returns or sets the vertical position of the scrollbar of the matching element.
Summary
The above is the html page to complete the find function, I hope it will help you, if you have any questions please give me a message, I will promptly reply to everyone. I would like to thank you all for your support of the Script House website!
parents() メソッド:その要素のすべての親要素。
$(".contrast .result:eq(1)")
p要素のうちクラス名がcontrast-wrapであるすべての要素。replace() メソッド:選択された要素を指定された html 内容に置き換えます。選択された要素の要素も置き換えられることに注意してください。
offset() メソッド:マッチした要素のドキュメントからの相対的なオフセット(位置)を返すか設定します。
scrollTop() メソッド:マッチした要素のスクロールバーの垂直位置を返すか設定します。
概要
上記は検索機能を完成させるためのhtmlページです、お役に立てれば幸いです、もし何か質問があれば、私にメッセージをください、私は迅速に皆さんに返信します。これからもスクリプトハウスのウェブサイトをよろしくお願いします。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン