рдЗрд╕ рджрд┐рд╢рд╛ рдХреЛ рд▓реЗрдЖрдЙрдЯ / рдлреНрд░рдВрдЯреЗрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рдЪрд░рдг рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд▓реЗрдЖрдЙрдЯ, рд╕реНрдЯрд╛рдЗрд▓ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдзреЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреБрдХреНрдд рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рдХреБрдЫ рд╕реВрдХреНрд╖реНрдорддрд╛рдУрдВ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЛ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рдХрд╛рдо рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЖрд▓реЗрдЦ рдореЗрдВ рд╕рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- DOM (рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓) рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд HTML рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рд╕реЗ рдмрдирддрд╛ рд╣реИред
- рд╢реИрд▓рд┐рдпрд╛рдБ рднрд░реА рд╣реБрдИ рд╣реИрдВ рдФрд░ рдкрд╣рдЪрд╛рдиреА рдЬрд╛рддреА рд╣реИрдВ, CSSOM (CSS Object Model) рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред
- DOM рдФрд░ CSSOM рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЯреНрд░реА рдмрдирддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рд░реЗрдВрдбрд░ рдЯреНрд░реА рд░реЗрдВрдбрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ (рд╡реЗрдмрдХрд┐рдЯ "рд░реЗрдВрдбрд░рд░", рдпрд╛ "рд░реЗрдВрдбрд░ рдСрдмреНрдЬреЗрдХреНрдЯ" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЧреЗрдХреЛ "рдлреНрд░реЗрдо" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)ред рд░реЗрдВрдбрд░ рдЯреНрд░реА DOM рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрджреГрд╢реНрдп рддрддреНрд╡ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
<head>
, рдпрд╛ рд╢реИрд▓реАdisplay:none;
рддрддреНрд╡display:none;
) рдпрд╣рд╛рдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рда рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЯреНрд░реА рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд░реЗрдВрдбрд░рд░ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд DOM рдСрдмреНрдЬреЗрдХреНрдЯ (рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдмреНрд▓реЙрдХ) рдФрд░ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╢реИрд▓реА рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рд░реЗрдВрдбрд░ рдЯреНрд░реА рдбреЛрдо рдХреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред - рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдВрдбрд░ рдЯреНрд░реА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрда рдкрд░ рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ - рд▓реЗрдЖрдЙрдЯ рд╣реЛрддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рд╡рд╛рд╣ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ (рдкрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред
- рдЕрдВрдд рдореЗрдВ, рдпрд╣ рд╕рдм рд╕рд╛рдорд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдкреЗрдВрдЯрд┐рдВрдЧред
рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдВрдкрд░реНрдХ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдпрд╣ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреБрди: рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд░реАрдкреЗрдВрдЯ
рддрддреНрд╡ рдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреЛ рдкреГрд╖реНрда рдкрд░ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
background-color
,
border-color
,
visibility
), рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрд╕ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рдирдИ рд╢реИрд▓реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП - рд░рд┐рдкреЗрдЯ (рдпрд╛ рд░реЗрд╕реНрдЯрд╛рдЗрд▓) рд╣реЛрддрд╛ рд╣реИред
рд░реАрдлрд╝реНрд▓реЛ
рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╕рд╛рдордЧреНрд░реА, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛, рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд░рд┐рдлреНрд▓реЛ (рдпрд╛ рд░рд┐рд▓реЗрдпрдЖрдЙрдЯ) рд╣реЛрддрд╛ рд╣реИред рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЖрдорддреМрд░ рдкрд░ рд╣реИрдВ:
- DOM рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЛрдбрд╝ (рдЬреЛрдбрд╝рдирд╛, рд╣рдЯрд╛рдирд╛, рдмрджрд▓рдирд╛, рддрддреНрд╡реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛);
- рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди, рдЭреБрдХрд╛рд╡ред рдкреНрд░рдкрддреНрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд╛рда;
- рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреА рдЧрдгрдирд╛ рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди;
- рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рдХреЛ рдЬреЛрдбрд╝рдирд╛, рд╣рдЯрд╛рдирд╛;
- рд╡рд┐рд╢реЗрд╖рддрд╛ "
class
" рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЛрдбрд╝; - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЛрдбрд╝ - рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛, рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛;
- рд╕рдХреНрд░рд┐рдп рдЫрджреНрдо рд╡рд░реНрдЧ (
:hover
)ред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрдХреВрд▓рди
рдмреНрд░рд╛рдЙрдЬрд╝рд░реНрд╕, рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ, рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рддрд╣рдд рдЖрдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЗ рднреАрддрд░ рдкреБрди: рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдФрд░ рд░рд┐рдлрд▓реЛ рдХреЛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рддреИрдирд╛рдд рддрддреНрд╡ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛ рдХреЗрд╡рд▓ рддрддреНрд╡ рдФрд░ рдЙрд╕рдХреЗ рд╡рдВрд╢ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рдЬрдмрдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рддрддреНрд╡ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рдж рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд░рд┐рдлреНрд▓реЛ рдЖрдПрдЧрд╛ред
рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдмреНрд▓реЙрдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкрд╛рд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдлреНрд▓реЛ рдФрд░ рд░рд┐рдкреЗрдВрдЯ рд╣реЛрдЧрд╛:
var $body = $('body'); $body.css('padding', '1px'); // reflow, repaint $body.css('color', 'red'); // repaint $body.css('margin', '2px'); // reflow, repaint // 1 reflow repaint
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрддреНрд╡ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдПрдХ рдордЬрдмреВрд░ рд░рд┐рдлреНрд▓реЛ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдмреНрд▓реЙрдХ рдореЗрдВ рддрддреНрд╡ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдПрдХ рдХреЙрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд┐рдлреНрд▓реЛ рд╣реЛрдЧрд╛:
var $body = $('body'); $body.css('padding', '1px'); $body.css('padding'); // , reflow $body.css('color', 'red'); $body.css('margin', '2px');
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рдХреЗ рдмрдЬрд╛рдп 2 рд░рд┐рдлреНрд▓реЛ рдорд┐рд▓рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡реЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ( JSBin рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ )ред
рд▓реЗрдХрд┐рди, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрдм рдЖрдк рдПрдХ рдордЬрдмреВрд░ рд░рд┐рдлреНрд▓реЛ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдп рд╣реИ: рд╣рдореЗрдВ рдЙрд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдПрдХ рддрддреНрд╡ ("
margin-left
") рдХреЛ рдкрд╣рд▓реЗ рдПрдиреАрдореЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (
100px
рд╕реЗрдЯ рдХрд░реЗрдВ), рдФрд░ рдлрд┐рд░
50px
рд╕рдВрдХреНрд░рдордг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪреЗрддрди рдХрд░реЗрдВред рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рддреБрд░рдВрдд JSBin рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣рд╛рдВ рднреА рдЗрд╕ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░реВрдВрдЧрд╛ред
рдкрд╣рд▓реЗ, рдЪрд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ:
.has-transition { -webkit-transition: margin-left 1s ease-out; -moz-transition: margin-left 1s ease-out; -o-transition: margin-left 1s ease-out; transition: margin-left 1s ease-out; }
рддреЛ, рдЪрд▓реЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:
var $targetElem = $('#targetElemId'); // , "has-transition" // transition $targetElem.removeClass('has-transition'); // , , transition , $targetElem.css('margin-left', 100); // transition $targetElem.addClass('has-transition'); // $targetElem.css('margin-left', 50);
рдпрд╣ рд╕рдорд╛рдзрд╛рди рддрдм рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдХреЛрдб рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реА рдХреИрд╢ рдФрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдордЬрдмреВрд░ рд░рд┐рдлреНрд▓реЛ рд╣рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рд▓реЗрдЧрд╛, рдФрд░ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛:
// transition $(this).removeClass('has-transition'); // $(this).css('margin-left', 100); // reflow, $(this)[0].offsetHeight; // , // transition $(this).addClass('has-transition'); // $(this).css('margin-left', 50);
рдЕрдиреБрдХреВрд▓рди рдпреБрдХреНрддрд┐рдпрд╛рдБ
рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд╛рде рд╣реА рд╣рд░реНрдмреЗ рдХреЗ рдЕрдиреНрдп рд▓реЗрдЦ, рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдкреНрд░рднрд╛рд╡реА рджреГрд╢реНрдпрдкрдЯрд▓ рдмрдирд╛рддреЗ рд╕рдордп рдХрд╛рдо рдореЗрдВ рдЖрдПрдВрдЧреЗ:
- рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдорд╛рдиреНрдп HTML рдФрд░ CSS рд▓рд┐рдЦреЗрдВред рд╢реИрд▓рд┐рдпрд╛рдБ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ
<head>
рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ<body>
рдХреЗ рдЕрдВрдд рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред - CSS рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд░рд▓ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ (рдпрд╣ рдЕрдХреНрд╕рд░ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкреЗрдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдХрдо рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдмреЗрд╣рддрд░ рд╣реИред рджрдХреНрд╖рддрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдХреЗ, рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рдо рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╕реЗ рд╢реБрд░реВ):
- ID:
#id
- рдХреНрд▓рд╛рд╕:
.class
- рдЯреИрдЧ:
div
- рдкрд╛рд╕ рдХрд╛ рдЪрдпрдирдХрд░реНрддрд╛:
a + i
- рдмрд╛рд▓ рдЪрдпрдирдХрд░реНрддрд╛:
ul > li
- рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдЪрдпрдирдХрд░реНрддрд╛:
*
- рдЪрдпрдирдХрд░реНрддрд╛ рдЪреБрдиреЗрдВ:
input[type="text"]
- рд╕рднреА рддрддреНрд╡ рдФрд░ рдЫрджреНрдо рд╡рд░реНрдЧ:
a:hover
рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд╛рдИрдВ рд╕реЗ рдмрд╛рдИрдВ рдУрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА - рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдФрд░ рд╡рд░реНрдЧ - рдХреБрдВрдЬреА (рд╕рдмрд╕реЗ рджрд╛рдПрдВ) рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред
div * {...} // .list li {...} // .list-item {...} // #list .list-item {...} //
- ID:
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, DOM рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдХрд╛рдо рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд░реЗрдВред рд╕рдм рдХреБрдЫ рдХреИрд╢ рдХрд░реЗрдВ: рдЧреБрдг, рдСрдмреНрдЬреЗрдХреНрдЯ, рдпрджрд┐ рд╡реЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдЬрдЯрд┐рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рд▓рд┐рдП, "рдСрдлрд╝рд▓рд╛рдЗрди" рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ (рдЬреЛ рдХрд┐ DOM рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрдореЛрд░реА рдореЗрдВ рд╣реИ), рдЗрд╕рдХреЗ рдмрд╛рдж DOM рдореЗрдВ рд░рдЦрдХрд░ред
- рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
- рддрддреНрд╡реЛрдВ рдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ "
class
" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдФрд░ рдбреАрдо рдХреЗ рдкреЗрдбрд╝ рдореЗрдВ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдЧрд╣рд░рд╛, рдпрд╣ рджреЛрдиреЛрдВ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрдзрд┐рдХ рд╕рдХреНрд╖рдо рд╣реИ (рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реЗ рддрд░реНрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛), рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдХрдо рдЦрд░реНрдЪреАрд▓рд╛ рд╣реИред - рдпрд╣ рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдХреБрд▓ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рддрддреНрд╡реЛрдВ рдХреЛ рдЪреЗрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрдиреАрдп рд╣реИред
- рдЖрдк рдЬрдЯрд┐рд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рд╣реЛрд╡рд░ рдПрдирд┐рдореЗрд╢рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рд░реАрд░ рдореЗрдВ "
no-hover
" рд╡рд░реНрдЧ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП)ред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд▓реЗрдЦ ред
рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд▓реЗрдЦ рдкрдврд╝реЗрдВ:
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
- рд░реЗрдВрдбрд░рд┐рдВрдЧ: рд░рд┐рдкреЗрдЯ, рд░рд┐рдлрд▓реЛ / рд░рд┐рд▓реЗрдЯрдЖрдЙрдЯ, рд░реЗрд╕реНрдЯрд╛рдЗрд▓
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдардХ рдиреЗ рд▓реЗрдЦ рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕реАрдЦрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ - рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
UPD: CSS рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рджрдХреНрд╖рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП SelenIT2 рдФрд░ piumosso рдХреЛ рдзрдиреНрдпрд╡рд╛рджред