рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП Google рд╕реЗ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рд╣реЛрдирд╣рд╛рд░ рдорд╛рдирдХ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрдЧрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдПрдХ рдкреНрд░рд╡реГрддреНрддрд┐ рдмрди рд╕рдХрддреА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдЗрд╕ рдорд╛рдирдХ рдХрд╛ рдЬреНрдЮрд╛рди рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдирдП рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдм рдХреБрдЫ рдХреЗ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдм рд╕рдХрддреЗ рд╣реИрдВредрдЕрдиреБрд╡рд╛рдж рдЧрд┐рдердм рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗрдВредрд╕реНрдерд┐рддрд┐:
рд▓реЗрдЦрдХ:
рдкрд░рд┐рдЪрдп
рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдореЙрдбрд▓ (рдпрд╛ рд╡реЗрдм рдШрдЯрдХ) рдореЗрдВ рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░, рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рдореГрджреНрдз рджреГрд╢реНрдп рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред
рдореЙрдбреНрдпреВрд▓:
- рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕, рдирд┐рд╖реНрдХреНрд░рд┐рдп рдорд╛рд░реНрдХрдЕрдк рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ;
- рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рджреГрд╢реНрдп рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ;
- рдХрд╕реНрдЯрдо рддрддреНрд╡ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрддреНрд╡реЛрдВ (рдЗрди рддрддреНрд╡реЛрдВ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдФрд░ рдПрдкреАрдЖрдИ рд╕рд╣рд┐рдд) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдЫрд┐рдкрд╛ рд╣реБрдЖ DOM ( рд╢реИрдбреЛ DOM ), рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ DOM рдЯреНрд░реА рдореЗрдВ рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡реЛрдВ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИрдВред
рд╕рд╛рде рдореЗрдВ,
рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдФрд░
рдХрд╕реНрдЯрдо рддрддреНрд╡ рдШрдЯрдХ рдХрд╣рд▓рд╛рддреЗ
рд╣реИрдВредрдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕
<template>
рддрддреНрд╡ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
<decorator>
рдФрд░
<element>
, рдЬреЛ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ)ред
<template>
рддрддреНрд╡ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИрдВ, рдЪрд┐рддреНрд░ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЖрджрд┐
<template>
рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдРрд╕реЗ рддрддреНрд╡ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖
рд╕рд╛рдордЧреНрд░реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рд╕реНрдерд┐рд░ рдбреЛрдо рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ DOM рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВред
<template id="commentTemplate"> <div> <img src=""> <div class="comment"></div> тАж </div> </template> var t = document.querySelector("#commentTemplate"); // img[src] . // тАж someElement.appendChild(t.content.cloneNode());
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдбреЛрдо рдиреЛрдб рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ "рд▓рд╛рдЗрд╡" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ DOM рдиреЛрдб
рдЖрдВрддрд░рд┐рдХ HTML рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рдЬреНрдЬрд╛рдХрд╛рд░
рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬреЛ рдореМрдЬреВрджрд╛ рддрддреНрд╡ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рд╕рднреА рдкрд╣рд▓реБрдУрдВ рдХреА рддрд░рд╣, рд╕рдЬреНрдЬрд╛рдХрд╛рд░реЛрдВ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдорд╛рд░реНрдХрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд╣рд▓реБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕рдЬреНрдЬрд╛рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рдЕрдиреВрдареА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред
<decorator>
рддрддреНрд╡ рдореЗрдВ рдПрдХ
<template>
рддрддреНрд╡ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
<decorator id="fade-to-white"> <template> <div style="position: relative;"> <style scoped> #fog { position: absolute; left: 0; bottom: 0; right: 0; height: 5em; background: linear-gradient( bottom, white 0, rgba(255, 255, 255, 0) 100); } </style> <content></content> <div id="fog"></div> </div> </template> </decorator>
<content>
рддрддреНрд╡ рдЙрд╕ рд╕реНрдерд╛рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрдХреЛрд░реЗрдЯрд░ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА) рдбрд╛рд▓реА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рд╕реАрдПрд╕рдПрд╕
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
.poem { decorator: url(#fade-to-white); font-variant: small-caps; }
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдбреЗрдХреЛрд░реЗрдЯрд░ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдЗрд╕ рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛:
<div class="poem"> Two roads diverged in a yellow wood,<br> тАж </div>
+ рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд░реЗрдВрдбрд░ рдЗрд╕ рдорд╛рд░реНрдХрдЕрдк рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
<div class="poem" style="font-variant: small-caps;"> <div style="position: relative;"> Two roads diverged in a yellow wood,<br> тАж <div style="position: absolute; left: 0; тАж"></div> </div> </div>
рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рддреЛ рд╕реАрдПрд╕рдПрд╕ рдЪрдпрдирдХрд░реНрддрд╛ рдЬрд╣рд╛рдВ рдбреЗрдХреЛрд░реЗрдЯрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдм рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ - рдЖрдорддреМрд░ рдкрд░ рдЬрдм
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЪрдпрдирдХрд░реНрддрд╛ рдЕрдм рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдирд┐рдпрдо рдХреЛ
рд╢реИрд▓реА рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ ..
рднрд▓реЗ рд╣реА CSS
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕рдВрдкрддреНрддрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХрд┐рд╕реА рднреА рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ, рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рдЗрд╕рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рд╡рд░реНрддрдорд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдорд╛рд░реНрдХрдЕрдк рдЬреЛ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрддрд┐ рдЙрдкрдпреЛрдЧ рддрдХ рд╕реАрдорд┐рдд рд╣реИ: рдпрд╣ рдХрднреА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ (рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╕рд╣рд┐рдд), рдФрд░ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдбреЗрдХреЛрд░реЗрдЯрд░ рдЗрд╡реЗрдВрдЯреНрд╕
рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдХреЛрд░реЗрдЯрд░ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рднреА рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдБрдХрд┐ рдбреЗрдХреЛрд░реЗрдЯрд░
рдХреНрд╖рдгрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд┐рд╕реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдиреЛрдбреНрд╕ рдкрд░ рдЯрд╛рдВрдЧрдирд╛ рдпрд╛ рдХрд┐рд╕реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдирд╛ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдиреЛрдбреНрд╕ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдпрд╛ рдХрд┐рд╕реА рддрддреНрд╡ рд╕реЗ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж
рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдбреЗрдХреЛрд░реЗрдЯрд░ рдЗрд╡реЗрдВрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ
<script>
рдПрд▓рд┐рдореЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдмрд╛рд╣рд░реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдВрдЬреАрд░ред рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рд░рдЬрд┐рд╕реНрдЯрд░

рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдирд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
<decorator id="decorator-event-demo"> <script> function h(event) { alert(event.target); } this.listen({selector: "#b", type: "click", handler: h}); </script> <template> <content></content> <button id="b">Bar</button> </template> </decorator>
рд▓рд┐рд╕реНрдиреЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЖрдЧ
рд▓рдЧрд╛рдПрдЧрд╛ ред
рдИрд╡реЗрдВрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд┐рд╕реА рднреА рдиреЛрдб рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдИрд╡реЗрдВрдЯ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЕрдВрдЬреАрд░ред рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдФрд░ рд░реАрдореИрдкрд┐рдВрдЧ

рдЬрдм рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдИрд╡реЗрдВрдЯ рдХрд╛
рд▓рдХреНрд╖реНрдп рдорд╛рди рд╡рд╣ рдиреЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рди рдХрд┐ рдЙрд╕рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдКрдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдХреЛрд░реЗрдЯрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рд╣реИ:
<span style="decorator: url(#decorator-event-demo);">Foo</span>
рдЗрд╕рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛:
рдлреВ [рдмрд╛рд░]
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░
[object HTMLSpanElement]
рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧрд╛ред
рд▓рдХреНрд╖реНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдХреЛрд░реЗрдЯрд░ рдореИрдкрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ; рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдбреЗрдХреЛрд░реЗрдЯрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
рд▓рдХреНрд╖реНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЙрд╕ рдиреЛрдб рдкрд░ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИ, рддреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдХрд┐
<script>
рддрддреНрд╡ рдХрд╛
рдЯреЗрдХреНрд╕реНрдЯрдХрдВрдЯреЗрдВрдЯ рд╕реЗрдЯ рдХрд░рдирд╛
<script>
рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рддрддреНрд╡ рдкрд░ рдЦреБрдж рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рд╡рд╣ рдХреЗрд╡рд▓ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдбреЗрдХреЛрд░реЗрдЯрд░ рдЙрджрд╛рд╣рд░рдг
рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рдХ рддрддреНрд╡ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
details { decorator: url(#details-closed); } details[open] { decorator: url(#details-open); }
<decorator id="details-closed"> <script> this.listen({ selector: "#summary", type: "click", handler: function (event) { event.currentTarget.open = true; } }); </script> <template> <a id="summary"> > <content select="summary:first-of-type"></content> </a> </template> </decorator> <decorator id="details-open"> <script> this.listen({ selector: "#summary", type: "click", handler: function (event) { event.currentTarget.open = false; } }); </script> <template> <a id="summary"> V <content select="summary:first-of-type"></content> </a> <content></content> </template> </decorator>
рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреА рдЬрд░реВрд░рдд рдереАред рдПрдХ рдмрдВрдж рд░реВрдк рдореЗрдВ
рд╡рд┐рд╕реНрддрд╛рд░ рддрддреНрд╡ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛
рд╣реИ , рджреВрд╕рд░рд╛ рдЦреБрд▓реЗ рдореЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЦреЛрд▓рдиреЗ / рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
<element>
рдХреА
рдЪрдпрди рд╡рд┐рд╢реЗрд╖рддрд╛ рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдХрд╕реНрдЯрдо рдЖрдЗрдЯрдо
рдХрд╕реНрдЯрдо рддрддреНрд╡ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ DOM рддрддреНрд╡ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╕реНрдЯрдо рддрддреНрд╡ рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХрд╛ рдкреНрд░рдХрд╛рд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд╕реНрдЯрдо рддрддреНрд╡ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреА рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдгред
<element>
рдПрдХ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
<element extends="button" name="x-fancybutton"> тАж </element>
рдлреИрд▓реА рд╣реБрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЙрд╕ рддрддреНрд╡ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рдЯреИрдЧ рд╣реЛрдЧрд╛ рдЬреЛ
рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИред
рдирд╛рдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ рдЗрд╕ рдорд╛рд░реНрдХрдЕрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛ред
рдирд╛рдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛
рдирд╛рдо рд╕реНрдерд╛рди рдорд╛рдирдХ рддрддреНрд╡реЛрдВ рдХреЗ рдЯреИрдЧ рдирд╛рдореЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЯрдХрд░рд╛рд╡ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, x- рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ HTML рддрддреНрд╡реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╕рднреА рд╡реНрдпрд╛рдЦреНрдпрд╛рдПрдВ HTML рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВред
рдЪреВрдВрдХрд┐ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрддреНрд╡реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдЙрди HTML рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрддреНрд╡ рдХрд╛ рдирд┐рдХрдЯрддрдо рдорд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╣реИ рдФрд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдХреЗ рдХреНрд▓рд┐рдХреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдмрдЯрди (
<button>
) рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм рдХреЛрдИ HTML рддрддреНрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╢рдмреНрджрд╛рд░реНрде рд╕реЗ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдХрд░реАрдм рд╣реИ, рддреЛ рд▓реЗрдЦрдХ рдХреЛ рддрдЯрд╕реНрде рддрддреНрд╡, рдЬреИрд╕реЗ рдХрд┐
<span>
рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рдЪрд╛рд░
рдПрдХ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
<element extends="button" name="x-fancybutton"> <template> <style scoped> ::bound-element { display: transparent; } div.fancy { тАж } </style> <div class="fancy"> <content></content> <div id="t"></div> <div id="l"></div> <div id="b"></div> <div id="r"></div> </div> </template> </element>
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ, рддреЛ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдбрд┐рдЬрд╛рдЗрдирд░ рджреНрд╡рд╛рд░рд╛ рддрддреНрд╡ рдХреА рдЫрд╛рдпрд╛ DOM рдореЗрдВ рдбрд╛рд▓реА рдЬрд╛рдПрдЧреАред
рдЫрд╛рдпрд╛ рдбреЛрдо рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдХрд╕реНрдЯрдо рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдореМрдЬреВрджрд╛ HTML рдЯреИрдЧ (div, рдмрдЯрди, рд╡рд┐рдХрд▓реНрдк, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХрд╛ рдирд╛рдо рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
<element extends="button" name="x-fancybutton"> тАж </element> <button is="x-fancybutton" onclick="showTimeClicked(event);"> Show time </button>
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╕реНрдЯрдо рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЖрдк рдорд╛рдирдХ
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдПрдХ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдзрд┐:
var b = document.createElement("x-fancybutton"); alert(b.outerHTML);
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ
рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
<element>
рдкрд░
рдирд┐рд░реНрдорд╛рддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред рдЗрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
<element extends="button" name="x-fancybutton" constructor="FancyButton"> тАж </element>
...
var b = new FancyButton(); document.body.appendChild(b); </code></pre>
рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡
<script>
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк <script>
рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░
<script>
рддрддреНрд╡ рдореЗрдВ, рдЕрдкрдиреЗ
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдХрд░ рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
<element extends="button" name="x-fancybutton" constructor="FancyButton"> тАж <script> FancyButton.prototype.razzle = function () { тАж }; FancyButton.prototype.dazzle = function () { тАж }; </script> </element> тАж <script> var b = new FancyButton(); b.textContent = "Show time"; document.body.appendChild(b); b.addEventListener("click", function (event) { event.target.dazzle(); }); b.razzle(); </script>
рд╕рд░рд▓ рдЧрд┐рд░рд╛рд╡рдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдпрд╣ <script>
рддрддреНрд╡ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓ рддрддреНрд╡ рдХреЛ
HTMLElementElement рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ:
<element extends="table" name="x-chart" constructor="Chart"> <script> if (this === window) </script> </element>
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ
<script>
рддрддреНрд╡
<script>
рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░, рдЬрдм рдЗрд╕реЗ
<element>
рдпрд╛
<decorator>
рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХреЙрд▓ рдХреЛ рдкрд╣рдЪрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
(function() {
рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ
рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдирд╛рдо рдЕрдЬреНрдЮрд╛рдд рд╣реИ, рдХрд╕реНрдЯрдо рдШрдЯрдХ рдХрд╛ рд▓реЗрдЦрдХ
HTMLElementElement рдХреА
рдЙрддреНрдкрдиреНрди рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
<element extends="table" name="x-chart"> <script> </script> </element>
рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ DOM рддрддреНрд╡ рдкрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдПрдХ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЪрд▓рд╛рдиреЗ рд╕реЗ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛:
var div = document.createElement("div"); div.setAttribute("is", "foo"); alert(div.is);
рдЖрдЗрдЯрдо рдЕрджреНрдпрддрди
рдЬрдм рдПрдХ рдХрд╕реНрдЯрдо рдЖрдЗрдЯрдо рдШреЛрд╖рдгрд╛ рднрд░реА рдЬрд╛рддреА рд╣реИ, рддреЛ рдХрд╕реНрдЯрдо рдЖрдЗрдЯрдо рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХрд╕реНрдЯрдо рдЖрдЗрдЯрдо рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдкрдбреЗрдЯ рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдХрд╕реНрдЯрдо рдЖрдЗрдЯрдо рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдЯрд╛рдП рдЧрдП рддрддреНрд╡ рдкрд░ рдПрдХ рдЧреИрд░-рдмреБрджрдмреБрджрд╛рд╣рдЯ, рдЧреИрд░-рд░рджреНрдж рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдмрд╛рдХреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдореЗрдВ рджреЗрд░реА рдХрд░рдирд╛ рдЪрд╛рд╣рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рд▓реЛрдб рди рд╣реЛ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:
function showTimeClicked(event) {
рдЬреЛ рд▓реЗрдЦрдХ рдЧреИрд░-рд╢реИрд▓реА рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдХрд╕реНрдЯрдо-рд▓реЛрдб рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ рдЧреИрд░-рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд, рдирд┐рдпрдорд┐рдд рдЖрдЗрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ
рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдЪрд╛рд░ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:
- рдмрдирд╛рдпрд╛ - рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ,
<template>
рддрддреНрд╡ рд╕реЗ ShadowRoot рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВред рдпрджрд┐ <template>
рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ , рддреЛ ShadowRoot рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред - рд╡рд┐рд╢реЗрд╖рддрд╛рдЪрдпрдирд┐рдд - рдЬрдм рднреА рдХрд┐рд╕реА рддрддреНрд╡ рдХрд╛ рдЧреБрдгрдзрд░реНрдо рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрд░реНрдХ: рдирд╛рдо, рдкреБрд░рд╛рдирд╛ рдорд╛рди, рдирдпрд╛ рдорд╛рдиред
- рдбрд╛рд▓рд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдШрдЯрдХ рдбреЛрдо рдкреЗрдбрд╝ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреЗ рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рд╣рдЯрд╛рдпрд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдбреЛрдо рдЯреНрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреЗ рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрдк рдЙрди рдЯрд╛рдЗрдорд░ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рддрдм рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ DOM рдЯреНрд░реА рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рддрддреНрд╡ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рд╣реИрдВрдбрд▓рд░ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдореНрдорд┐рд▓рд┐рдд рдФрд░ рд╣рдЯрд╛рдП рдЧрдП рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд░ рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрддреНрд╡ рдбрд╛рд▓рд╛ рдФрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдк
HTMLElementElement.lifecycle рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЗрди рд╣реИрдВрдбрд▓рд░ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:
<element extends="time" name="x-clock"> <script> </script> </element>
рдХрд╕реНрдЯрдо рдЖрдЗрдЯрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди
HTML рддрддреНрд╡реЛрдВ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
<element>
рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛:
<element extends="x-clock" name="x-grandfatherclock"> тАж </element>
рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐
рдХрд╕реНрдЯрдо рддрддреНрд╡реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
- рддрддреНрд╡ рдХрд╛ рдЯреИрдЧрдирд╛рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХреЗ рдлреИрд▓реА рд╣реБрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
<div is="x-fancybutton">
, рд▓реЗрдХрд┐рди <element name="x-fancybutton" extends="button">
ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред - рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдорд╛рди рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдЖрдЗрдЯрдо рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрддреНрд╡ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЕрднреА рддрдХ рд▓реЛрдб рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛ рд▓реЛрдб рд╣реЛрддреЗ рд╣реА рддрддреНрд╡ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
- рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рддрддреНрд╡ рд╕реЗ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд╕реНрдЯрдо рддрддреНрд╡ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддрдм рддрдХ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдлреИрд▓реА рд╣реБрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рд╕рдВрдХреЗрддрд┐рдд рддрддреНрд╡ рд▓реЛрдб рди рд╣реЛ рдЬрд╛рдПред
- Is рдХрд╛ рдЧреБрдг x- рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдирд╛рдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдорд╛рди x- рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдЕрдорд╛рдиреНрдп рдФрд░ рдЕрдирджреЗрдЦрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдо рд╡реЗрдм рдШрдЯрдХреЛрдВ рдореЗрдВ рд╢реИрдбреЛ DOM рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдмрд╛рд╣рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡реЛрдВ рдФрд░ рд╕рдЬреНрдЬрд╛рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдФрд░ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рдЕрд▓рдЧрд╛рд╡, рдкреНрд░рддрд┐рдмрдВрдз рдФрд░ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ