#javascript #html #css
Вопрос:
Привязка прокрутки удивительна, и после некоторого эксперимента у меня есть определенные сомнения.
Я обнаружил, что, хотя это хорошо работает для небольших видовых экранов. Когда у вас есть большая прокручиваемая область и вы щелкаете элемент в начале. Если вы находитесь в конце ширины прокрутки, а крайняя левая карта немного не видна. Прокрутка одной карты влево (нажатие кнопки prev) приведет к удалению на две карты. Это нормально, и это не проблема.
Самое забавное, что если вы нажмете между большим пальцем полосы прокрутки и левой кнопкой, она фактически переключится на начало ближайшей карты.
Вопрос в том, есть ли простой способ вызвать это собственное событие прокрутки (щелчок между большим пальцем и кнопкой).
Ответ №1:
Хорошо, для тех, кому интересно, имя метода, эквивалентное этому, — scrollBy.
Поэтому в моем случае мне нужно сделать:
nextClickHandler() {
const el = document.getElementById(myElId);
el.scrollBy({
top: 0,
left: 1, //-1 if you want to go previous
//and it will snap to the element that is the closest to the edge.
behavior: 'smooth'
});
}
вместо :
nextClickHandler() {
const el = document.getElementById(myElId);
el.scrollTo({
top: 0,
left: el.scrollLeft cardWidth,
behavior: 'smooth'
});
}