Я только что видел ответ Влада Данилы, но не могу воспроизвести эффект плавной прокрутки. Может кто-нибудь мне помочь?
Вот пример фрагмента кода, который я собрал:
const buttonRight = document.getElementById('slideRight');
const buttonLeft = document.getElementById('slideLeft');
buttonRight.onclick = function() {
document.getElementById('container').scrollLeft += 20;
};
buttonLeft.onclick = function() {
document.getElementById('container').scrollLeft -= 20;
};#container {
width: 145px;
height: 100px;
border: 1px solid #ccc;
overflow-x: scroll;
}
#content {
width: 250px;
background-color: #ccc;
}<div id = "container">
<div id = "content">Click the buttons to slide horizontally!</div>
</div>
<button id = "slideLeft" type = "button">Slide left</button>
<button id = "slideRight" type = "button">Slide right</button>Заранее спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать нативное свойство CSS scroll-behavior: smooth, например:
const buttonRight = document.getElementById('slideRight'); const buttonLeft = document.getElementById('slideLeft');
buttonRight.onclick = function () {
document.getElementById('container').scrollLeft += 20;
};
buttonLeft.onclick = function () {
document.getElementById('container').scrollLeft -= 20;
};#container {
width: 145px;
height: 100px;
border: 1px solid #ccc;
overflow-x: scroll;
scroll-behavior: smooth;
}
#content {
width: 250px;
background-color: #ccc;
}<div id = "container">
<div id = "content">Click the buttons to slide horizontally!</div>
</div>
<button id = "slideLeft" type = "button">Slide left</button>
<button id = "slideRight" type = "button">Slide right</button>Единственный минус в том, что в Safari работает только с флажком (Ref). Чтобы преодолеть это, вы можете использовать понифилл.
Это очень хорошо задокументировано. Вы можете установить его с помощью NPM или загрузить локально, а затем запустить функцию scrollIntoView().
Привет, большое спасибо за это, мне немного любопытно, как добавить понифилл для этого элемента, если вы можете мне сказать, так как я здесь совершенно новичок. :(