рдореБрдЭреЗ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдпрд╛ рдкрд╛рда рдореЗрдВ, рдПрдХ рд╕рд░реНрд╡рд░ рдПрдХ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдирд┐рдпрдорд┐рдд рдкрд░ рдПрдХ рдЦреЛрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣реА рд╣реИ, рдореИрдВрдиреЗ рдЙрд╕ рдкреГрд╖реНрда рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд╛рда рд╣реИ, рдЖрдк рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдЗрд╕реЗ рдвреВрдВрдв рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЪрд╛рд░реЛрдВ рдУрд░ рдЕрдлрд╡рд╛рд╣ рдлреИрд▓рд╛ рджреА рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдорд┐рд▓рд╛ (рд╢рдмреНрджреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдФрд░ рдкреГрд╖реНрда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдерд╛ - рдпрд╛ рддреЛ рдореИрдВрдиреЗ рдЦрд░рд╛рдм рдЦреЛрдЬ рдХреА рдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред
рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдВрдд рд╣реИ - рдореИрдВрдиреЗ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
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
- рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ)ред
jQuery('#content').scrollTo('.highlight('+search_number +')');
рд▓реЗрдХрд┐рди рдореБрдЭреЗ
рдкреНрд▓рдЧрдЗрдиреНрд╕ (jqwidgets) рдХреЗ
рдЗрд╕ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдХреНрд░реЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдирдХреЗ
API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:
рд╕реНрдХреНрд░реЛрд▓реНрдЯреЛ рд╡рд┐рдзрд┐рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред
рдХреЛрдб рдЙрджрд╛рд╣рд░рдгрд╕реНрдХреНрд░реЛрд▓реНрдЯреЛ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
$('#jqxPanel').jqxPanel('scrollTo', 10, 20);
function scroll_to_word(){ pos = $('#text .selectHighlight').position() $('#content').jqxPanel('scrollTo', 0, pos.top - 5);
рдбреЗрдореЛрд╡рд╣ рд╕рдм рдЕрднрд┐рдпрд╛рди рдХреЗ рд▓рд┐рдП рд╣реИред
рдореИрдВ рдЧреИрд░-рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ