рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдХрд╕реНрдЯрдо jQuery рдЗрд╡реЗрдВрдЯ (рдХрд╕реНрдЯрдо рдЗрд╡реЗрдВрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реВрдВред
рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг
рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рднреА рдЦрд╛рдмрд░реЛрд╡рд╕реНрдХ рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкреГрд╖реНрда рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдмреНрд▓реЙрдХ рдЗрдиреНрд╕рд░реНрдЯ "24 рдШрдВрдЯреЗ рдореЗрдВ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда" рдПрдирд┐рдореЗрдЯреЗрдб рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИред рд╕реНрдХреНрд░реЙрд▓ рдкрд░ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╡рд┐рдВрдбреЛ рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рджреЛ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИ: рдпрд╣ рдмреНрд▓реЙрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдпрд╛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдПрдиреАрдореЗрд╢рди рдмрдирд╛рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдЫреБрдкрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдпрд╣ рдХрд╛рд░реНрдп рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдерд╛, рддреЛ рд╣рдо рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рдРрд╕рд╛ рдХреЛрдб рд▓рд┐рдЦрд╛ рдерд╛:
$(window).on('scroll resize', function(){
рдореИрдВ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.7 рдХреЗ рдмрд╛рдж рд╕реЗ, рд╕рдордп
.delegate()
.bind()
,
.delegate()
.bind()
,
.delegate()
рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ: рдЕрдм рд╣рдо рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
.on()
(рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬрдм рд╣рдореЗрдВ рдПрдХ "рдИрд╡реЗрд╕реНрдЯрд░рдбреЙрдкрд┐рдВрдЧ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред ┬╗
.one()
, рдФрд░
$(function(){ })
рдХреЗ рд╕рд╛рде рдбреЙрдо-рд░реЗрдбреА рднреА рдкрдХрдбрд╝реЗрдВред
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рд╡рд┐рдВрдбреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВред
рдХреБрдЫ рднреВрд▓ рддреЛ рдирд╣реАрдВ рдЧрдП? рд╣рд╛рдБ, рдЬреИрд╕реЗ рдирд╣реАрдВред рд╣рдо рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдПрдХ рд╡рд┐рдВрдбреЛ рд╕реНрдХреНрд░реЙрд▓ рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ, рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╢рд░реАрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ: рджреГрд╢реНрдп рдЖрдпрдд рдХреЗ рдЖрдпрд╛рдореЛрдВ рдХреЛ рд▓реЗрдВ, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ div рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдФрд░ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдЫ рднреА "рдЯреНрд╡рд┐рд╕реНрдЯ" рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЕрдкрдиреЗ рддрддреНрд╡ рдХреЛ рдХрд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рдПрдВрдЧреЗ? рдЦреИрд░, рд╣рд╛рдВред рд▓рдЧрддрд╛ рд╣реИ рд╡реЗ рднреВрд▓ рдЧрдП рд╣реИрдВред рдареАрдХ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
$(window).on('scroll resize', function(){
рдореБрд╕реАрдмрдд: рдХреЛрдб "рдПрдХ рдкреНрдпрд╛рд░реЗ рдХреЗ рд╕рд╛рде" рдирд┐рдХрд▓рд╛ред рд╢рд╛рдВрдд рд░рд╣реЗрдВ рдФрд░ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВ:
$(window).on('scroll resize', repositionAnchor); function repositionAnchor(){
рдореИрдВ рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдХрдо
рдкрд╕рдВрдж рд╣реИред
рдХреЛрдИ рдХрд╣реЗрдЧрд╛: "рдореВрд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ 'рд▓реЛрдб' рдИрд╡реЗрдВрдЯ рдкрд░ рд╣реБрдХ рдХрд░реЗрдВред" рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ, рдореИрдВ рдкрдХрдбрд╝ рд▓реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд▓реЛрдб рдХреЛрдб рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ
рдмрд╛рдж рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рд╕рдорд╛рдзрд╛рди рд╕рддрд╣ рдкрд░ рд╣реИред JQuery рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо
.trigger()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдмрди рдЬрд╛рддрд╛ рд╣реИ:
$(window).on('load scroll resize', function(){
рд╣рдо рд▓реЛрдб, рд╕реНрдХреНрд░реЙрд▓ рдФрд░ рдЖрдХрд╛рд░ рдкрд░ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХрд┐рд╕реА рднреА рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛, рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВред рд▓рд╛рднред рдШреЛрд╖рдгрд╛ рдФрд░ рдЖрд░рдВрднреАрдХрд░рдг рджреЛрдиреЛрдВред
рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ
рдареАрдХ рд╣реИ, рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдмрджрд▓рдХрд░ рдирдП рдбреЗрдЯрд╛ рдХреЗ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдХреНрдпрд╛ рдмреНрд▓реЙрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди 'рд╕реНрдХреНрд░реЙрд▓' рдИрд╡реЗрдВрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛? рддрдм ... рдЬрдм рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо "
$(window).trigger('scroll')
"
$(window).trigger('scroll')
рдХреЛ "рдХреЙрд▓" рдХрд░реЗрдВрдЧреЗ - рдЬреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдХрд┐ "рд╕реНрдХреНрд░реЙрд▓" рдХрд╛ рдЕрд░реНрде рд╣реИ "рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛" рдФрд░ "рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдВрджрд░реВрдиреА рдХреЛ рдмрджрд▓рдирд╛" рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ? рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рд▓рд┐рдП -
рдХреНрдпрд╛ ред рдПрд╣,
window
рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ
'change'
рдпрд╛
'redraw'
рдШрдЯрдирд╛ рд╣реЛрдЧреА, рдХрд╣рддреЗ рд╣реИрдВред рдлрд┐рд░ рдЙрд╕ рдкрд░ рд▓рдЯрдХрд╛ рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ - рд╕рдордп рдЖрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ "рд╢реВрдЯ" рдХрд░реЗрдВред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВ рдХрд┐ рдХреБрдЫ рднреА рд╣рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ? рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдореЗрдВ рдРрд╕реА рдШрдЯрдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдмрд╕ рдРрд╕реЗ рд╣реА:
$(window).on('load scroll resize redraw', function(){
рдХреЛрдИ рдорд╛рдирдХ рдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ
redraw
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдЦреБрдж рдЕрдм рдЗрд╕рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ "рдХрд╕реНрдЯрдо" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
JQuery рдореЗрдВ, рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рдиреЛрдбреНрд╕ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдиреЛрдбреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рддрддреНрд╡реЛрдВ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдШрдЯрдирд╛ рдХреЛ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВред
рддреЛ, рджреЗрдЦреЛ, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдо DOM рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рдХрдареЛрд░ рд╕реВрдЪреА рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВ: рд╣рдо рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд╛рдо рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ "рд╢реВрдЯ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЙрдирдХреЗ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рд╣рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмреНрд▓реЙрдХ (рдореЙрдбреНрдпреВрд▓) рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрддрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдФрд░ рдвреАрд▓реА рдпреБрдЧреНрдорди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЙрдирдХреА рдмрд╛рддрдЪреАрдд рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
jQuery рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рдереЗ: рдПрдХ рдШрдЯрдирд╛ рдХрд╛ рдХреЛрдИ рднреА рдирд╛рдо рдпрд╛
рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
'onDataAvailable'
,
'elvisHasLeftTheBuilding'
рдФрд░
'the_answer_to_life_the_universe_and_everything_is_ready'
ред рдХрдИ рд▓реЛрдЧ рдпрд╣ рдЬрд╛рдирддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ред
рдИрд╡реЗрдВрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рд╢рдмреНрджред рдИрд╡реЗрдВрдЯ рдХреЗ рдирд╛рдо рдкрд░ рдбреЙрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдм рдХреБрдЫ рдЗрд╕ рдИрд╡реЗрдВрдЯ рдХрд╛ рддрдерд╛рдХрдерд┐рдд рдирд╛рдорд╕реНрдерд╛рди рд╣реИ (
'onDataAvailable.widgetOne'
- "widgetOne" - рдЗрд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдирд╛рдорд╕реНрдерд╛рди)ред рдХрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (
'onDataAvailable.widgetOne.dataEvents'
- рджреЛ рдирд╛рдорд╕реНрдерд╛рди рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: widgetOne рдФрд░ dataEvents)ред рдпрд╣ рд╕рдореВрд╣ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдирд╛рдо рд╕реНрдерд╛рди рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рднреА рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдКрдкрд░ рд╕реЗ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖: рд╣рдо рдбреЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛ рдХреЗ рдирд╛рдо рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред
рдХреНрдпреЛрдВ рдЪрд┐рдкрдХреЗ рд╣реБрдП рд╣реИрдВ?
рд╣рдордиреЗ рдмрд╕ рдлрд┐рд░ рд╕реЗ рд╕реАрдЦрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдирд╛рдо рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛рдУрдВ рдХреЛ "рд╢реВрдЯ" рдФрд░ "рд╕реБрди" рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдХреНрд▓рд┐рдХ (
'click'
) рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо DOM рддрддреНрд╡ рдкрд░ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ
..
(рдпрд╛ рдЙрд╕рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рд╕реЗ рдЬреЛ рдкреЙрдк рдЕрдк рдХрд░рдиреЗ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдШрдЯрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛), рддреЛ рдЬрдм рд╣рдо рдХрд┐рд╕реА
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдШрдЯрдирд╛ рдХреЛ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреНрдпрд╛ рд▓рдЯрдХрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
'onDataAvailable'
рдХреА рдШрдЯрдирд╛, рдЬреЛ рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рд▓реЛрдб рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдпрд╛:
$(window).on('onDataAvailable', function(){
рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рддреБрд░рдВрдд рдЗрд╕ рдХрд╛рдо рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдореБрдЭреЗ "рдЪрд▓рдирд╛" рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЧрд▓рдд рд▓рдЧрд╛ред рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ: рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреИрд╕реЗ рдпрд╛ рдХреИрд╕реЗ, рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреНрдЮрд╛рдд рдШрдЯрдирд╛рдУрдВ (
'load'
,
'resize'
, рдЖрджрд┐) рдХрд╛ рдирд╛рдо рд▓реЗрдЧрд╛, рдФрд░
рдЧрд▓рдд "рд╢реНрд░реЛрддрд╛рдУрдВ" рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдлрд┐рд░ рдореИрдВрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдмрдирд╛рдП рдмрд┐рдирд╛, рдПрдХ рдЦрд╛рд▓реА рддрддреНрд╡ (
var eventNode = $('')
) рдмрдирд╛рдпрд╛ рдФрд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдЗрд╕рд╕реЗ рдЬреЛрдбрд╝рд╛ -
eventNode.on('customEvent', function(){ /*...*/ })
"
eventNode.on('customEvent', function(){ /*...*/ })
рдпрд╛"ред " рдПрдХ рдШрдЯрдирд╛ рдХреЗ рд╕рд╛рде "рд╕реЗ рдЧреЛрд▓реА рдорд╛рд░ рджреА:
eventNode.trigger('customEvent')
ред
рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдореБрдЭреЗ рдЧрд▓рдд рд▓рдЧрд╛ рдХрд┐ рд╣рдо рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧреИрд░-рдбреЛрдо рддрддреНрд╡реЛрдВ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрдиреЗ рдпрд╛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдФрд░ рдЕрдм, рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ jQuery рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЗрд╡реЗрдВрдЯрдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ (
{}
)
$()
рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
$()
рдЗрд╕ рддрд░рд╣:
var eventNode = $({})
ред рдРрд╕реА рд╡рд╕реНрддреБ рдореЗрдВ рди рдХреЗрд╡рд▓ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ
.trigger()
,
.trigger()
,
.one()
рдЗрд╕рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ, рд╕рд░рд▓реАрдХреГрдд, рдХреНрдпрд╛ рд╣реБрдЖ:
var events = (function(){ var eventNode = $({}); return { on: on, trigger: trigger }; function on(){ eventNode.on.apply(eventNode, arguments); } function trigger(){ eventNode.trigger.apply(eventNode, arguments); } })();
рдХреНрдпрд╛ рдХрд╣рдирд╛ рд╣реИ?
рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдЪреВрдХ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реА рдШрдЯрдирд╛рдПрдВ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред
рдпрд╣ рдЪреВрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ:
.trigger()
рд╡рд┐рдзрд┐ рдХреЗ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛, рдШрдЯрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣реИрдВрдбрд▓рд░ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ (рдкрд╣рд▓рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдШрдЯрдирд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ)ред рдореБрдЭреЗ рд╣рд╛рд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛:
events.on('onDataAvailable', function(evt, data) { var items = data.items, page = data.page, total = data.total;
рдЗрд╕ рдкрд░ рдореИрдВ рдмреАрдЪ рдореЗрдВ рдЖрдКрдВрдЧрд╛ред рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рдореИрдВ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ, рдЕрдкреЗрдХреНрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдкреИрдЯрд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдФрд░ рд░рд┐рдВрдЧ рд▓реВрдк рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!