As you can see it I am not able to scroll down the page when I click on the button, This all code running in one file in App.js
Even I tried with useRef() and UseState() also but not working
I need help in JavaScript logic only
Javascript:
const myFunction = () => {
const element = document.getElementById("myDIV");
element.scrollLeft = 50;
element.scrollTop = 10;
};
HTML:
<div
id="myDiv"
style={{ height: "250px", width: "250px", overflow: "auto" }}
>
<div
id="content"
style={{
height: "800px",
width: "2000px",
backgroundColor: "coral",
}}
>
<button onClick={myFunction}>Scroll</button>
<p>Some text inside a div element.</p>
<p>Some text inside a div element.</p>
<p>Some text inside a div element.</p>
<p>Some text inside a div element.</p>
</div>
</div>
Here:
const element = document.getElementById("myDIV");
the ID is wrong. It should be myDiv
because you set the div's ID to myDiv
:
<div
id="myDiv"
style={{ height: "250px", width: "250px", overflow: "auto" }}
>
and also you can use the scroll
function of Element
instead of setting scrollLeft
and scrollTop
:
const myFunction = () => {
const element = document.getElementById("myDiv");
element.scroll(50, 10);
}
But I recommend using refs (I know you mentioned it but I'm not sure if you used it correctly).
Create a ref:
const divRef = useRef();
Assign the ref to the div:
<div
id="myDiv"
ref={divRef}
style={{ height: "250px", width: "250px", overflow: "auto" }}
>
Then scroll it (you don't need the element variable anymore):
const myFunction = () => {
divRef.current.scroll(50, 10);
};