私は、ページではなく、テキストではなく、サーバーの検索ではなく、通常の検索が必要でした。 つまり、多くのテキストがあるページをダウンロードし、読んで、必要に応じて見てください。 私はインターネットを調べましたが、残念ながら、実装に複雑なものは何もありませんでしたが、オプションが見つかりませんでした(単語間の遷移とページのスクロール)。
これで終わりです。最初のオプションを共有することにしました。
jQueryライブラリー自体が使用されます。
基礎として、
jQueryの記事を取り上げました。
ここから テキストまたはHTMLの単語を強調表示 します (
その例 )。 スクリプトをページに接続する方法はそこに記述されています。
以下で「単語」=「フレーズ」=「文字および/または記号のフレーズ」を使用します。機能の拡張を始めましょう。
検索ボタン、次の単語と前の単語を強調表示、選択した単語にページをスクロール
1)特定の単語を強調表示する
jquery.highlight.jsファイルに追加します
jQuery.fn.selectHighlight = function(number) { return this.find("span.highlight:eq("+number+")").addClass('selectHighlight').end(); };
2)スタイルで、強調表示された単語の表示を規定し、自分用に強調表示スタイルを変更します
.highlight { background-color: gray; color: white } .selectHighlight { background-color: rgb(35, 140, 0) }
3)ボタンと入力フィールドを作成する
<div id="search_block"> <label> Search: <input id="search_text" type="text" value=""/> </label> <input id="search_button" type="button" value="Search"/> <input id="prev_search" type="button" value="<"/> <input id="next_search" type="button" value=">"/> <input id="clear_button" type="button" value="Clear"/> </div>
4)アクションボタンを割り当てる
コードをコピーします。
(この機能の目的を以下に説明します) function scroll_to_word(){ pos = $('#text .selectHighlight').position() $('#content').jqxPanel('scrollTo', 0, pos.top - 5); }
var search_number = 0;
5)
function scroll_to_word(){...}
-必要な単語にページをスクロール(巻き戻し)する機能
まあ、一般的に、
ここから簡単な
jqueryscrolltoプラグインを使用して
.highlight
クラスと番号
eq('+search_number +')
(
search_number
グローバルスクリプト変数のリストを見てください
eq('+search_number +')
探すのは非常に簡単です。
jQuery('#content').scrollTo('.highlight('+search_number +')');
しかし、ブラウザではなくページ用に独自のスクロールが必要であるため、
このプラグイン (jqwidgets)の
セットを使用する必要があったため、それらの
APIを使用しました。
scrollTo メソッド特定の位置までスクロールします。
コード例scrollToメソッドを呼び出します。
$('#jqxPanel').jqxPanel('scrollTo', 10, 20);
function scroll_to_word(){ pos = $('#text .selectHighlight').position() $('#content').jqxPanel('scrollTo', 0, pos.top - 5);
デモキャンペーンについては以上です。
最適化されていないコードについておaび申し上げます-終了し、共有することにしました。これは初期バージョンのみです