
рд╕реНрдерд┐рд░ рдЖрдХрд╛рд░ рдХреА рдПрдХ рд╕реНрдХреНрд░реАрди, рдпрд╛ рдЦрд┐рдбрд╝рдХреА рдкрд░ рдирд┐рд░рдВрддрд░ рдорд╛рддреНрд░рд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рд░рдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрдИ рджрд╢рдХреЛрдВ рд╕реЗ рдореМрдЬреВрдж рд╣реИред рдЙрд╕реА рд░рд╛рд╢рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ: GUI рддрддреНрд╡ рдПрдХ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╣реИред
рдХрдЯ рдХреЗ рддрд╣рдд, рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ 2GIS рдСрдирд▓рд╛рдЗрди рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓ рддрдВрддреНрд░ рдХреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ js emulation рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ: рдпрд╣ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ "рд╕реБрд╡рд┐рдзрд╛рдУрдВ" рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ 8 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рддрд╣рдд, рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рднрдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ
рдХрд╕реНрдЯрдо рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред
рдЕрдм 2
рдЬреАрдЖрдИрдПрд╕ рдСрдирд▓рд╛рдЗрди рдореЗрдВ (рдФрд░, рддрджрдиреБрд╕рд╛рд░, 2 рдЬреАрдЖрдИрдПрд╕
рдПрдкреАрдЖрдИ рдореЗрдВ ) рд╣рдо рдлреНрд▓реЗрдХреНрд╕рдХреНрд░реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдпрд╣ рд╕реНрдХреНрд░реЙрд▓ рддрдВрддреНрд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
- рдпрд╣ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдореИрдХ рдкрд░ рдЦрд░рд╛рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)
- рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рдПрдореБрд▓реЗрдЯрд░ рдХреА рддрд░рд╣, рдЗрд╕рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ
- рдЗрд╕рдореЗрдВ рдмрд┐рд▓реНрдЯ-рдЗрди рдХреИрдкреНрд╢рди рд▓реЙрдХрд┐рдВрдЧ рдореИрдХреЗрдирд┐рдЬреНрдо рдирд╣реАрдВ рд╣реИред
рдЗрди рд╕рднреА рдХрд╛рд░рдХреЛрдВ рдиреЗ рд╣рдореЗрдВ рджреЛ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд┐рдпрд╛:
- рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рд╣рдорд╛рд░рд╛ рдЦреБрдж рдХрд╛ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?
- рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рддрдВрддреНрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рджреЗрдВ?
рд╣рдордиреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рддрдВрддреНрд░ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реБрдзрд╛рд░ рдХреЗ рдЕрдзреАрди рд╣реИред
- рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рдХреБрд▓ рдЖрдХрд╛рд░ рдХрдо рд╕реЗ рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрджрд░реНрд╢ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рд╕реЗ рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╣реЗрдбрд░ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рд╡реЗ рджреЗрдЦрдиреЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдкрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрдВрддреНрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЗрд╕ рдордж рдкрд░ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
рдкреНрд░рддрд┐рдмрдВрдз
рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХрд╛ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд▓рдЪреАрд▓рд╛ рдЕрдиреБрдХреВрд▓рди рд╡реЗрдмрдХрд┐рдЯ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реА рд╕рдВрднрд╡ рд╣реИред рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рд░рдВрдЧреЛрдВ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, CSS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрдард┐рди
w3c рд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реИ:
рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдкреВрд░реНрдг рд╡рд┐рд░рд╛рдоред
рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди

рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ js рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рджреЗрд╢реА рд╕реНрдХреНрд░реЙрд▓ рддрдВрддреНрд░ рдХреА рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕рдВрдкрддреНрддрд┐ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИ, рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдиреЗрд╕реНрдЯреЗрдб рдХрдВрдЯреЗрдирд░ рд╣рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреА рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореВрд╕рд╡реЗрд▓)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
jScrollPane ,
рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдкреЗрдкрд░ ,
jQuery рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдкреНрд▓рдЧрдЗрди ,
рдлреНрд▓реЗрдХреНрд╕рдХреНрд░реЛрд▓ ,
рдЯрд╛рдЗрдиреА рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдФрд░ рдХрдИ рдЕрдиреНрдпред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рджреЛ рдореВрд▓рднреВрдд рдХрдорд┐рдпрд╛рдВ рддреБрд░рдВрдд рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ: рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛ рдХреА рдХрдореА рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдХрдореАред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдЫ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ: рдорд╛рдирдХреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рдлреЗрдВрдХрдиреЗ" рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЕрдиреБрдХреНрд░рдо рдФрд░ рддрд░реНрдХ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЯреНрд░реИрдХрдкреИрдб рдЬрдм рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рд╡реНрд╣реАрд▓ рдЗрд╡реЗрдВрдЯ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдИ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ
рдмрд╣реБрдд рддреЗрдЬрд╝ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рд╣реЛрддреА рд╣реИред
рдпрд╣ рд╕реНрдХреНрд░реЙрд▓ рдПрдореБрд▓реЗрд╢рди рдХреА рдпреЗ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдХрдИ рд╕рдорд╛рдзрд╛рди рд╢реБрд░реВ рдореЗрдВ jQuery рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рд╣реИрдВред рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ рд╣рдо рднрд╛рдЧреЛрдВ рдореЗрдВ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдБ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрджрд┐ рдкреНрд▓рдЧрдЗрди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрд╡реАрд╡реЗрдЯ jQuery UI рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд░рдЦрддрд╛ рд╣реИ рддреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдпрд╣ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реЙрд░реНрдЯрд╕реНрдХреНрд░реЛрд▓ рдФрд░ рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рд▓рд┐рдПред рдФрд░ рдХрдИ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рднреА: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЗрд╢реА рд╕реНрдХреНрд░реЙрд▓ рддрдВрддреНрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ jQuery рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ, рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░, 4 рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ: Event.drag, resize, mousehold рдФрд░ mewewheel 10 kb рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рдХреБрд▓ рд╡рдЬрди рдХреЗ рд╕рд╛рдеред
рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рддреАрд╕рд░рд╛ рдмрд┐рдВрджреБ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рдЦреБрдж рдХрд╛ рдлреИрд╕рд▓рд╛
рд╕рдорд╛рдзрд╛рди рдХреЗ рджреЛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╣реИрдВ: 1) рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдЫрд┐рдкрд╛рдПрдВ рдФрд░ 2) рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ - рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рддрд░реНрдХ рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ HTML рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдБ:
<div class='wrapper' id='wrapper'> <div class='scroller' id='scroller'> <article class='container' id='container'> </article> </div> </div>
рдЬрд╣рд╛рдВ рдХрдВрдЯреЗрдирд░ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдХреНрдпрд╛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рд╕реНрдХреЛрд░рд░ - рдПрдХ рдмреНрд▓реЙрдХ рдЬрд┐рд╕рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдКрдВрдЪрд╛рдИ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣-рд╡рд╛рдИ рд╣реИ: рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ, рдЬреЛ рдЗрд╕рдХреА рд╕рд╣реА рд╕реАрдорд╛ рдкрд░ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ; рдЖрд╡рд░рдг - рдПрдХ рдЦрд┐рдбрд╝рдХреА рдЬрд┐рд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рдереЛрдбрд╝реА рд╕реА рдХрдо рд╣реЛрддреА рд╣реИ, рдЬреЛ рдШреБрдордХреНрдХрдбрд╝ рдФрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣: рдЫрд┐рдкреА рд╣реБрдИ рд╕рдВрдкрддреНрддрд┐ред рдЪреМрдбрд╝рд╛рдИ рд╕реНрдХреЛрд░рд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рд╕рд╣реА рдЪреМрдбрд╝рд╛рдИ рдЬрд╛рдирдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреЛрд░рд░ рдХреЗ рд▓рд┐рдП 125% рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП 80% рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдХрдВрдЯреЗрдирд░ рдФрд░ рдЖрд╡рд░рдг рдХреА рдЪреМрдбрд╝рд╛рдИ рдмрд┐рд▓реНрдХреБрд▓ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рд╕реНрдХреЛрд░рд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реНрдпрд╛рдкрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╣реА рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рд░реИрдкрд░ рдФрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдзрд┐ рд░рдмрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рдмрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
рд╣рдо js рдЪрд░ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ:
var wrapper = document.getElementById('wrapper'), scroller = document.getElementById('scroller'), container = document.getElementById('container');
рдЕрдм рд╣рдо рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: scroller.offsetWidth рд╕реАрдорд╛, рдкреИрдбрд┐рдВрдЧ, рд╕рд╛рде рд╣реА рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╕рд╣рд┐рдд рд╕реНрдХреНрд░реЛрд▓рд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╣реИред рдпрджрд┐ рд╣рдо CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдорд╛ рдФрд░ рдЧрджреНрджреА рдХреЛ рд╢реВрдиреНрдп рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ scroller.clientWidth рдХреЛ рдШрдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкрд┐рдХреНрд╕рд▓ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЪреМрдбрд╝рд╛рдИ рдорд┐рд▓рддреА рд╣реИред
рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ, рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рддрддреНрд╡реЛрдВ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рджрд┐рд╢рд╛ рдореЗрдВ рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреА рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣-рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде: рдЫрд┐рдкрд╛ рд╣реБрдЖред рдпрд╣реА рд╣реИ, рд╕реНрдХреЛрд░рд░ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдЫреЛрдЯреЗ рдЖрд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЫрд┐рдкрд╛рдП рдЧрдП рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдореЗрдВ, рд╣рдо CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рднреА рддреАрди рдмреНрд▓реЙрдХреЛрдВ рдХреА рдЪреМрдбрд╝рд╛рдИ рдмрд┐рд▓реНрдХреБрд▓ рдореЗрд▓ рдЦрд╛рдПрдЧреА рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреЛрдИ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реЛрдЧреА:
.scroller::-webkit-scrollbar { width: 0; }
рдЕрдм рдПрдХ рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдбреНрд░рд╛ рдФрд░ рдкреЛрдЬрд┐рд╢рди рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо 1 рддрддреНрд╡ рдХреЗ рд▓рд┐рдП HTML рд╕рдВрд░рдЪрдирд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛:
<div class='wrapper' id='wrapper'> <div class='scroller' id='scroller'> <article class='container' id='container'> </article> <div class='scroller__bar'></div> </div> </div>
рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдмрдЯрди рдФрд░ рдиреАрдЪреЗ рдФрд░ рд╕рд╛рде рд╣реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЯреНрд░реИрдХ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред
рдЦреАрдВрдЪреЗ рдЧрдП рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рдбреНрд░реИрдЧ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрджрд░ рдкрд╛рда рдХрд╛ рдЪрдпрди рдирд┐рд╖рд┐рджреНрдз рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдмрдВрдзрди рдмрдирд╛рдПрдВ:
function dontStartSelect() { return false; } function selection(on) { if (on) { $(document).on('selectstart', dontStartSelect); } else { $(document).off('selectstart', dontStartSelect); } } event(bar, 'mousedown', function(e) { e.preventDefault(); selection(false);
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, IE8 рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрднреА рддрдХ рдЫреВрдЯ рдирд╣реАрдВ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдорд╛рдЙрд╕ рдХреЗ "рджрдмрд╛рдП рдЧрдП" рд╕реНрдерд┐рддрд┐ рдХрд╛ рд░реАрд╕реЗрдЯ рди рдХреЗрд╡рд▓ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдорд╛рдЙрд╕ рдмрдЯрди рд░рд┐рд▓реАрдЬрд╝ рд╣реЛ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЬрдм рдкреГрд╖реНрда рдлреЛрдХрд╕ (рдзреБрдВрдзрд▓рд╛) рдЦреЛ рджреЗрддрд╛ рд╣реИред
рдЪрд┐рдкрдЪрд┐рдкрд╛ рд╣реЗрдбрд░
рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рддрддреНрд╡ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд┐рд╕реА рд▓реЗрдЦ рдХреЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдкрд░реЗ рдЬрд╛рддреА рд╣реИ), рд╕рд╛рдордЧреНрд░реА рдХреНрд▓рд┐рдХ рдХреА рдЧрдИ рд╣реЗрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП "рд░реАрд╡рд╛рдЙрдВрдб" рд╣реЛрдЧреАред
рди рддреЛ рдкреВрд░реНрдг (рд╕реНрдХреЙрд▓рд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖) рдФрд░ рди рд╣реА рд░рд┐рд╢реНрддреЗрджрд╛рд░ (рдЕрдкрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрджреЛрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖) рдЕрдкрдиреЗ рд╢реБрджреНрдз рд░реВрдк рдореЗрдВ рд╢реАрд░реНрд╖ рд╕реНрдерд┐рддрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдкрд╣рд▓рд╛ рд╢реАрд░реНрд╖рдХ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдШрд┐рд╕рдиреЗ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЭрдЯрдХреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ; рджреВрд╕рд░рд╛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджреЗрд╢реА рдШрд╛рддрдХ рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдЬреЛ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рд╣реЗрдбрд░ рдХреА рдШрдмрд░рд╛рд╣рдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, html рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрдирд╛ рдерд╛, рд╕рднреА рд╣реЗрдбрд░ рдХреЛ рд░реИрдкрд░ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛, рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдп рд╣реЗрдбрд░ рдХреЗ рдиреАрдЪреЗ рд╕реНрдерд╛рди рдХреЛ рдмрдЪрд╛рдирд╛ рд╣реИ рдЬрдм рд╡реЗ рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рджреМрд░рд╛рди рдзрд╛рд░рд╛ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╢реАрд░реНрд╖рдХреЛрдВ рдФрд░ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рд░реНрдЬрд┐рди рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдПрдХ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╡реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ - рдлрд┐рд░ рдЖрдк рд╢реАрд░реНрд╖ рд▓реЗрдЦреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖рдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
scroller.scrollTop - H[i].offsetTop > Sum(H[j].offsetHeight, j=0..i-1) scroller.scrollTop - H[i].offsetTop < scroller.clientHeight - Sum(H[j].offsetHeight, j=i..n-1)
рдЬрд╣рд╛рдБ H рд╢реАрд░реНрд╖ рд▓реЗрдЦ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ; рдореИрдВ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, 0 рд╕реЗ n-1 рдХреА рд╕реАрдорд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИ; scroller.scrollTop - рдХрдВрдЯреЗрдирд░ рдХреА рдКрдкрд░реА рд╕реАрдорд╛ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреА рджреГрд╢реНрдп рд╕реАрдорд╛ рдХреЗ рдКрдкрд░реА рд╕реАрдорд╛ рддрдХ рдЖрднрд╛рд╕реА рджреВрд░реА; H [i] .offsetTop - рд╣реЗрдбрд░ рдХреА рдКрдкрд░реА рд╕реАрдорд╛ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреА рдКрдкрд░реА рд╕реАрдорд╛ рд╕реЗ рджреВрд░реА H [i]ред
рджреЛрдиреЛрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдкреВрд░реНрддрд┐ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣реЗрдбрд░ рдореИрдВ рдХрд╣реАрдВ рджрд┐рдЦрд╛рдИ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣реИ, рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдиреНрдп рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╢реАрд░реНрд╖ рдКрдкрд░ рд╕реЗ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ - рдиреАрдЪреЗ рд╕реЗред рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдирд┐рд░реНрдзрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЪрдВрдЪрд▓ рдШрдЯрдирд╛ рдлреЗрдВрдХрдирд╛
рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдЕрдкреНрд░рд┐рдп рдмрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: рдореВрд╕рд╡реЗрд▓ рдШрдЯрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╣реЗрдбрд░ рд╕реЗ рд▓реЗрдХрд░ рд╕реНрдХреНрд░реЛрд▓рд░ рддрдХ рдЖрдЧреЗ рдирд╣реАрдВ рдереАред рдЗрд╕рдиреЗ рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рдПрдХ рдмреНрд░реЗрдХ (рдЕрдЪрд╛рдирдХ рд╕рдорд╛рдкреНрддрд┐) рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдмрдирд╛рдпрд╛ рдЬрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╢реАрд░реНрд╖рдХ рдХрд░реНрд╕рд░ рдХреЗ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк)ред рдпрд╣реА рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рдХреЛ рд╕реНрдкрд┐рди рдХрд░рддрд╛ рд╣реИ, рд╣реЗрдбрд┐рдВрдЧ рдХрд░реНрд╕рд░ рдХреЗ рдиреАрдЪреЗ рдЖрддреА рд╣реИ, рд╕реНрдерд┐рд░ рд╣реЛрддреА рд╣реИ, рдФрд░, рдЕрдЪрд╛рдирдХ, рд╕реНрдХреНрд░реЙрд▓ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ)ред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ (рдФрд░ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдРрд╕рд╛ рдЕрд╡рд╕рд░ рд╣реИ:
$(headers).on('mousewheel', function(e) { var evt = document.createEvent('WheelEvent'); evt.initWebKitWheelEvent(e.originalEvent.wheelDeltaX, e.originalEvent.wheelDeltaY); scroller.dispatchEvent(evt);
рдмреЗрд╢рдХ, рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ: рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдШрдЯрдирд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рди рд╣реЛрдВред
рдЙрджрд╛рд╣рд░рдг
рдЬреЗрдПрд╕ рдХреЛрдб рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ jQuery рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рд▓рддрдо рдорд╛рдорд▓реЗ рдореЗрдВ (рд╣реЗрдбрд░ рдХреЛ рдареАрдХ рдХрд┐рдП рдмрд┐рдирд╛), рдЖрд░рдВрднреАрдХрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
baron($('.wrapper'), { scroller: '.scroller', container: '.container', bar: '.scroller__bar' });
рдФрд░ $ ('рд░реИрдкрд░') HTML рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд╣реЗрдбрд░ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рд╢реАрд░реНрд╖ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░реЗрдВ, рдФрд░ jQuery рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЖрд░рдВрднреАрдХрд░рдг рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддреГрдд рд╣реИ:
baron($('.test_advanced'), { scroller: '.scroller', container: '.container', bar: '.scroller__bar', barOnCls: '.scroller__bar_state_on',
рдореБрдЭреЗ рдЗрд╡реЗрдВрдЯ рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рдмрдирд╛рдирд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк addEventListener рдЬреИрд╕реЗ рдореВрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдЗрд╡реЗрдВрдЯ рдореИрдиреЗрдЬрд░ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг
рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝, рдореИрдХ рдФрд░ рдЖрдИрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХреНрд░реЛрдо, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдУрдкреЗрд░рд╛, рд╕рдлрд╛рд░реА рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ (рдЖрдИрдИ) рдХреЗ рд╡рд░реНрддрдорд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХреЗрд╡рд▓ рдореМрдЬреВрджрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ :))ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, IE9 рдФрд░ IE8 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдареАрдХ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА, рд╕реНрдХреНрд░реЙрд▓ рдЕрднреА рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдгрд╛рд▓реАрдЧрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдУрдкреЗрд░рд╛ рдорд┐рдиреА рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреЛрдЦрд┐рдо рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рддрддреНрд╡реЛрдВ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИред рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░реЙрд▓ рддрдВрддреНрд░ рдХреЛ рдмрдЪрд╛рдиреЗ, рдЗрд╕рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдмрджрд▓рдиреЗ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдХрдбрд╝реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХреЛрдб рдХреЗ 998 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЫреЛрдЯрд╛ рдФрд░ рд╕рдВрдХреБрдЪрд┐рдд рдЧрдЬрд╝рд┐рдк)ред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕реНрдХреНрд░реЙрд▓ рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрдбрд░)ред
рдиреБрдХрд╕рд╛рди рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рдХрдореА рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╕рдорд╛рдзрд╛рди рдХреЛрдб
Github рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдбреЗрдореЛ ред
рдорд╛рд░реНрдЪ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред