Answers for "react button click scroll section codepen"

0

react button click scroll section codepen

const styles = {
  width: '500px',
  height: '500px',
};

function App() {
  const div1 = React.useRef()
  const div2 = React.useRef()
  const div3 = React.useRef()

  /**
   * @param {HTMLElement} target 
   */
  function smoothScroll(target) {
    const { top } = target.getBoundingClientRect()
    window.scrollTo({
      top: top + window.pageYOffset,
      behavior: "smooth"
    });
  }

  return (
    <div>
      <div ref={div1} style={{ background: 'yellowgreen', ...styles }}>
        <p><button onClick={() => smoothScroll(div1.current)}>yellowgreen</button></p>
        <p><button onClick={() => smoothScroll(div2.current)}>seagreen</button></p>
        <p><button onClick={() => smoothScroll(div3.current)}>skyblue</button></p>
      </div>

      <div ref={div2} style={{ background: 'seagreen', ...styles }}>
        <p><button onClick={() => smoothScroll(div1.current)}>yellowgreen</button></p>
        <p><button onClick={() => smoothScroll(div2.current)}>seagreen</button></p>
        <p><button onClick={() => smoothScroll(div3.current)}>skyblue</button></p>
      </div>

      <div ref={div3} style={{ background: 'skyblue', ...styles }}>
        <p><button onClick={() => smoothScroll(div1.current)}>yellowgreen</button></p>
        <p><button onClick={() => smoothScroll(div2.current)}>seagreen</button></p>
        <p><button onClick={() => smoothScroll(div3.current)}>skyblue</button></p>
      </div>
    </div>
  )
}

ReactDOM.render(<App />, document.getElementById('root'));
Posted by: Guest on September-01-2021
0

react button click scroll section codepen

const styles = {
  width: '500px',
  height: '500px',
};

function App() {
  const div1 = React.useRef()
  const div2 = React.useRef()
  const div3 = React.useRef()

  /**
   * @param {HTMLElement} target 
   */
  function smoothScroll(target) {
    const { top } = target.getBoundingClientRect()
    window.scrollTo({
      top: top + window.pageYOffset,
      behavior: "smooth"
    });
  }

  return (
    <div>
      <div ref={div1} style={{ background: 'yellowgreen', ...styles }}>
        <p><button onClick={() => smoothScroll(div1.current)}>yellowgreen</button></p>
        <p><button onClick={() => smoothScroll(div2.current)}>seagreen</button></p>
        <p><button onClick={() => smoothScroll(div3.current)}>skyblue</button></p>
      </div>

      <div ref={div2} style={{ background: 'seagreen', ...styles }}>
        <p><button onClick={() => smoothScroll(div1.current)}>yellowgreen</button></p>
        <p><button onClick={() => smoothScroll(div2.current)}>seagreen</button></p>
        <p><button onClick={() => smoothScroll(div3.current)}>skyblue</button></p>
      </div>

      <div ref={div3} style={{ background: 'skyblue', ...styles }}>
        <p><button onClick={() => smoothScroll(div1.current)}>yellowgreen</button></p>
        <p><button onClick={() => smoothScroll(div2.current)}>seagreen</button></p>
        <p><button onClick={() => smoothScroll(div3.current)}>skyblue</button></p>
      </div>
    </div>
  )
}

ReactDOM.render(<App />, document.getElementById('root'));
Posted by: Guest on September-01-2021

Code answers related to "react button click scroll section codepen"

Code answers related to "Javascript"

Browse Popular Code Answers by Language