Я хочу построить индексированные письма. Когда я нажимаю на букву (например, A, B, C). Он должен прокручиваться до заголовка. Я использовал scrollIntoView здесь. Все в порядке, кроме "block: start". Когда я хочу прокрутить до заголовка начала, прокрутка всей страницы с помощью контейнера.
Вот моя гифка о проблеме
Вот мой код html, css и javascript.
const scrollTo = id => {
let ref = document.getElementById(id)
if (ref /* + other conditions */) {
ref.scrollIntoView({
behavior: "smooth",
block: "start",
inline: "start",
})
}
}
<div className="glossary">
<div className="glossary-items grid">
<div className="d-flex ">
<div className="glossary-letters ">
<ul>
{letter.map(item => (
<li onClick={() => scrollTo(item)}>
<a> {item}</a>
</li>
))}
</ul>
</div>
<div className="glossary-titles">
<ul>
{glossary.map((item, index) => (
<div key={item.group}>
<li id={item.group}>{item.group}</li>
{item.children.map((item2, i) => (
<li key={i}>
<Link
activeClassName="glossary-titles-active"
to={`/en/sozluk/${item2.first_name + item2.id}`}
>
{item2.first_name}
</Link>
</li>
))}
</div>
))}
</ul>
</div>
</div>
<div className="glossary-content ml-5">
<Router>
<Glossary path="en/sozluk/:id" />
</Router>
</div>
</div>
</div>
myRef.current.scrollIntoView(false)
- person KIC   schedule 11.05.2021