IntersectionObserver рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдЫрд╡рд┐рдпрд╛рдВ

рдЖрдЬрдХрд▓, рд╣рд╛рдИ рд╕реНрдкреАрдб рд▓реЛрдбрд┐рдВрдЧ рд╕рд╛рдЗрдЯреНрд╕ рдХреЗ рдкрде рдкрд░ рдореБрдЦреНрдп рдареЛрдХрд░реЗрдВ рдЫрд╡рд┐рдпрд╛рдВ рд╣реИрдВред рдпрд╣ рдИ-рдХреЙрдорд░реНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИред рдЙрди рдкрд░ рдЫрд╡рд┐рдпрд╛рдВ, рдЖрдорддреМрд░ рдкрд░ рдХрд╛рдлреА "рднрд╛рд░реА" рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдереЛрдХ рдмрдирд╛рддреА рд╣реИрдВред рдпрд╣, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдкреГрд╖реНрда рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХрдИ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдЧреНрд░рд╛рдлрд┐рдХ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреЗрдЬ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рддреЗрдЬ рдХрд░реЗрдВ? рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЙрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд╡рдзрд╛рди


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЙрд▓рдорд╛рд░реНрдЯ рдореЗрдВ рдЧреГрд╣ рд╡рд┐рднрд╛рдЧ рдХреЗ рд╢реБрд░реБрдЖрддреА рдкреГрд╖реНрда рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред


рдХрдИ рдЫрд╡рд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдкреГрд╖реНрда

рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдЪрд┐рддреНрд░ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИ:


рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдБ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, 137 рдЪрд┐рддреНрд░ рд╣реИрдВ! рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреГрд╖реНрда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ 80% рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рдЧреНрд░рд╛рдлрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм рд╣рдо рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ:


рдкреГрд╖реНрда рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдХреЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рдж рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдореБрдЦреНрдп рдмрдВрдбрд▓ cp_ny.bundle рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдмрдВрдбрд▓ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд▓рд┐рдП рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА 18 рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдареАрдХ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЫрд╡рд┐ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдХрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред рдЗрдирдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЧреНрд░рд╛рдлрд┐рдХ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди, рдмреНрд▓рд░ рдПрдирд┐рдореЗрд╢рди рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ, рд╕реАрдбреАрдПрди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореИрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рддрдерд╛рдХрдерд┐рдд "рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ" (рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ) рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рд░рд┐рдПрдХреНрдЯ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдВрддреНрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд╛рдпрд▓рдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ


рдЖрдЗрдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдРрд╕реЗ рд╣реА рдмреЗрд╣рдж рдЖрд╕рд╛рди Image рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХ рд╕реЗ:

 class Image extends PureComponent { render() {   const { src } = this.props;   return <img align="center" src={src} />; } } 

рдпрд╣ рдПрдХ рд╕рдВрдкрддреНрддрд┐, рдПрдХ URL рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ img HTML рддрддреНрд╡ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ JSFiddle рдХреЛрдб рд╣реИред рдирд┐рдореНрди рдЫрд╡рд┐ рдЗрд╕ рдШрдЯрдХ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЫрд╡рд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рд╡рд╣ рдШрдЯрдХ рдЬрд┐рд╕рдХрд╛ рдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ

рдЗрд╕ рдШрдЯрдХ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреА рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреАрди рдЪрд░рдг рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:

  1. рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЫрд╡рд┐ рд░реЗрдВрдбрд░ рди рдХрд░реЗрдВред
  2. рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреЗ рджреЗрдЦрдиреЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдЫрд╡рд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╕реЗрдЯ рдХрд░реЗрдВред
  3. рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛, рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред

рдЖрдЗрдП рдЗрди рдЪрд░рдгреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдЪрд░рдг 1


рдЗрд╕ рдЪрд░рдг рдкрд░, рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХреА рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

 render() { return <img />; } 

рдЪрд░рдг 2


рдпрд╣рд╛рдВ рд╣рдо рдЙрди рддрдВрддреНрд░реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЙрд╕ рдХреНрд╖рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдЫрд╡рд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред

 componentDidMount() { this.observer = new IntersectionObserver(() => {   //        }, {   root: document.querySelector(".container") }); this.observer.observe(this.element); } .... render() { return <img ref={el => this.element = el} />; } 

рдЖрдЗрдП рдЗрд╕ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  • рд░реЗрдлрд░реА рддрддреНрд╡ рдХреЛ img рддрддреНрд╡ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдмрд╛рдж рдореЗрдВ рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдмрд┐рдирд╛ src рдореЗрдВ рдЫрд╡рд┐ рд▓рд┐рдВрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • IntersectionObserver рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг IntersectionObserver (рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ)ред
  • IntersectionObserver рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ observe(this.element) рдЗрд╕ред рдирд┐рд░реНрдорд╛рдг observe(this.element) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

IntersectionObserver рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ "рдЪреМрд░рд╛рд╣реЗ" рд╢рдмреНрдж рдХрд╛ рдЕрдиреБрд╡рд╛рдж "рдЪреМрд░рд╛рд╣реЗ" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ "рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ" "рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ" рд╣реИ, рдХреЛрдИ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рд╡рд╕реНрддреБ рдХреА рднреВрдорд┐рдХрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк MDN рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдЬрддреЗ рд╣реИрдВ , рддреЛ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Intersection Observer API рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдпрд╛ рд╡реНрдпреВрдкреЛрд░реНрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рддрддреНрд╡ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдПрдкреАрдЖрдИ рдХреА рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред IntersectionObserver рдЙрджрд╛рд╣рд░рдг рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдордиреЗ root рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рд░реВрдЯ рдбреЛрдо рддрддреНрд╡ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рддрддреНрд╡ рдХреА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреГрд╖реНрда рдХрд╛ рджреГрд╢реНрдп рдЯреБрдХрдбрд╝рд╛ (рд╡реНрдпреВрдкреЛрд░реНрдЯ) рд╕реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕реЗ JSFiddle рдХреЗ iframe рддрддреНрд╡ рдореЗрдВ рд╕реНрдерд┐рдд рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рдореЗрдВ, рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ iframe рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IntersectionObserver рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ onScroll рдФрд░ getBoundingClientRect() рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ IntersectionObserver рддрдВрддреНрд░ рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдХреЗ рдмрд╛рд╣рд░ рдЪрд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, IntersectionObserver рдмрд╛рдж рдХреЙрд▓рдмреИрдХ рдХреЙрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХреЛ рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдореЗрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХреЛрдб рдмрд╣реБрдд рднрд╛рд░реА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЪрд░рдг 3


рдЕрдм рд╣рдореЗрдВ рдЙрд╕ рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ root рдХрдВрдЯреЗрдирд░ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ div рддрддреНрд╡ рд╣реИ .container ) рдХреЗ рд╕рд╛рде target рддрддреНрд╡ ( this.element рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдХреЛ рдЪреМрд░рд╛рд╣реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред

 .... this.observer = new IntersectionObserver( entries => {   entries.forEach(entry => {     const { isIntersecting } = entry;     if (isIntersecting) {       this.element.src = this.props.src;       this.observer = this.observer.disconnect();     }   }); }, {   root: document.querySelector(".container") } ); .... 

рдЬрдм рдЪреМрд░рд╛рд╣реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ entries рдХреА рд╕рд░рдгреА entries рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╕рднреА рд▓рдХреНрд╖рд┐рдд рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рдХреЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред isIntersecting рд╕рдВрдкрддреНрддрд┐ isIntersecting рдХреА рджрд┐рд╢рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред рдпрджрд┐ рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЬрд╛ рд░рд╣реА рд╡рд╕реНрддреБ рдЬрдбрд╝ рддрддреНрд╡ рдХреЗ рдмрд╛рд╣рд░ рд╣реИ, рддреЛ рдпрд╣ true ред рдпрджрд┐ рдХреЛрдИ рддрддреНрд╡ рдореВрд▓ рддрддреНрд╡ рдХреЛ рдЫреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдпрд╣ false ред

рдЗрд╕рд▓рд┐рдП, рдЬрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рддрддреНрд╡ рдХрдВрдЯреЗрдирд░ рдХреА рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдкрд╛рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА src рд╕рдВрдкрддреНрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдЧрд░рд╛рдиреА рдмрдВрдж рдХрд░ рджреА, рдЬреЛ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рдЪрд░рдг 4 (рдЧреБрдкреНрдд)


рдЕрдм, рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХреЗ рдЪреМрдереЗ, рдЧреБрдкреНрдд рдЪрд░рдг рдореЗрдВ, рдЖрдк рдкрд░рд┐рдгрд╛рдо рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдлрд▓рддрд╛ рдХрд╛ рдЖрдирдВрдж рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред


рдЖрд▓рд╕реА рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдЪреАрдЬрд╝реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдЖрдкрдХреЛ рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрддрд┐ рдХреЛ рдзреАрдорд╛ рдХрд░рддреЗ рд╣реБрдП, рдкреГрд╖реНрда рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ред


рдкреГрд╖реНрда рд╡реНрдпрд╡рд╣рд╛рд░ рдЬрдм рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрддрд┐ рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ

рдЪреВрдВрдХрд┐ рд╣рдо рдЙрд╕ рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡рд╣ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЫрд╡рд┐ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдЧреНрд░рд╣рд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рдЬрдм рд╕рд╛рдЗрдЯреНрд╕ рдлрд╛рд╕реНрдЯ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рд╕реЗ рджрд┐рдЦрддреА рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдХрдИ рдЖрдзреБрдирд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдлреЛрди рд╕реЗ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдХрднреА-рдХрднреА рд╡реЗ 3 рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдИрдбреАрдЬреАрдИ рдХрдиреЗрдХреНрд╢рдиред

рд╕рдЪ рд╣реИ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рд╕реЗрдХреНрд╢рди рдСрдмреНрдЬрд░реНрд╡рд░ рдПрдкреАрдЖрдИ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдореВрд▓ рддрддреНрд╡ рдХреА рд╕реАрдорд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдпрд╛ рд╕рдВрдХреАрд░реНрдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ .container рддрддреНрд╡ рд╣реИ)ред рдЗрд╕ рдЕрд╡рд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░реВрдЯ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

 rootMargin: "0px 0px 200px 0px" 

rootMargin рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ, рдПрдХ рд▓рд╛рдЗрди рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рддрддреНрд╡реЛрдВ рдХреЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП CSS рдирд┐рдпрдореЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рддреА рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдПрдХ рддрддреНрд╡ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕реЗ 200 рдкрд┐рдХреНрд╕реЗрд▓ рддрдХ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рддрддреНрд╡ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЧрд┐рд░рддрд╛ рд╣реИ, рдЬреЛ рд░реВрдЯ рддрддреНрд╡ рдХреА рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рд╕реЗ 200 рдкрд┐рдХреНрд╕реЗрд▓ рдиреАрдЪреЗ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реА рдХреЙрд▓рдмреИрдХ рдХреЛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 0 рд╣реИ)ред

рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ рдЬреЛ рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред


рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреА рддрдХрдиреАрдХ рдореЗрдВ рд╕реБрдзрд╛рд░

рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдкреГрд╖реНрда рдХреЛ рдХреЗрд╡рд▓ рд╕реВрдЪреА рдХреЗ 4 рддрддреНрд╡ рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЫрд╡рд┐ рдХреЛ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреГрд╖реНрда рдХреЗ рджреГрд╢реНрдп рдХреНрд╖реЗрддреНрд░ рд╕реЗ 200 рдкрд┐рдХреНрд╕реЗрд▓ рдиреАрдЪреЗ рд╣реИред
рдЕрдм, рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рд╡рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реИ рдирд╣реАрдВред

рдЫрд╡рд┐ рдКрдВрдЪрд╛рдИ рдХреА рд╕рдорд╕реНрдпрд╛


рдпрджрд┐ рдЖрдкрдиреЗ рдЙрдкрд░реЛрдХреНрдд GIF-рдЪрд┐рддреНрд░ рдХрд╛ рдзреНрдпрд╛рдирдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж "рдЬрдВрдк" рдХрд░рддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ 0 рдХреА рдКрдВрдЪрд╛рдИ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, 300 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЫрд╡рд┐ рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ height={300} рдЬреЛрдбрд╝рдХрд░ рддрддреНрд╡ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдКрдВрдЪрд╛рдИ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЕрдиреБрдХреВрд▓рди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдЖрд▓рд╕реА рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж Walmart рдкрд░ рд╣рдореЗрдВ рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реБрдП? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдгрд╛рдо рдХрдИ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрддрд┐, рд╕реАрдбреАрдПрди рдЙрдкрд▓рдмреНрдзрддрд╛, рдкреГрд╖реНрда рдкрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрди рдкрд░ рд▓рд╛рдЧреВ рд░реВрдЯ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдЪреМрд░рд╛рд╣реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдкрдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдиреЗ рд╣рдореЗрдВ рдХреНрдпрд╛ рджрд┐рдпрд╛, рддреЛ рдпрд╣рд╛рдВ рдкреНрд░рдХрд╛рд╢рд╕реНрддрдВрдн рдХреА рдХреБрдЫ рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рд╣реИрдВред рдкрд╣рд▓рд╛ рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдмрдирддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ - рдмрд╛рдж рдореЗрдВред


рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдЙрддреНрдкрдиреНрди рд▓рд╛рдЗрдЯрд╣рд╛рдЙрд╕ рд░рд┐рдкреЛрд░реНрдЯ


рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж рдЙрддреНрдкрдиреНрди рд▓рд╛рдЗрдЯрд╣рд╛рдЙрд╕ рд░рд┐рдкреЛрд░реНрдЯ

рдкрд░рд┐рдгрд╛рдо


рдЖрдЬ рд╣рдордиреЗ рдЖрд▓рд╕реА рдЫрд╡рд┐ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рддрдХрдиреАрдХ рдХреЛ рджреЗрдЦрд╛ред рдпрджрд┐ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рдкреГрд╖реНрда рдЪрд┐рддреНрд░реЛрдВ рд╕реЗ рднрд░реЗ рд╣реИрдВ, рддреЛ, рд╕рдВрднрд╡рддрдГ, рдпрд╣ рддрдХрдиреАрдХ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЖрдк рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?

Source: https://habr.com/ru/post/hi423485/


All Articles