Есть ли способ предотвратить прокрутку родителя на «горизонтально» прокручиваемом контейнере при использовании колеса мыHtml

Программисты Html
Ответить
Anonymous
 Есть ли способ предотвратить прокрутку родителя на «горизонтально» прокручиваемом контейнере при использовании колеса мы

Сообщение Anonymous »

У меня есть своего рода горизонтальный контейнер, который можно прокрутить через колесо мыши, что работает нормально, даже если я прокручиваю его, родитель (страница) будет полностью прокручивать вертикально: < /p>

Код: Выделить всё

let last_wheel_timestamp = -1,
last_fast_wheel_timestamp = -1;
const handle_wheel = (e: WheelEvent): boolean => {
// deltaMode == DOM_DELTA_PIXEL
const div = e.currentTarget as HTMLDivElement;
if (options.wheelHorizontal && e.deltaMode == 0)
{
let multiplier = 2;
if (last_wheel_timestamp != -1 && ((last_wheel_timestamp > Date.now() - 600 && last_wheel_timestamp < Date.now() - 20) || (last_fast_wheel_timestamp !== -1 && last_fast_wheel_timestamp > Date.now() - 100)))
multiplier *= 3,
last_fast_wheel_timestamp = Date.now();
else last_fast_wheel_timestamp = -1;
const delta_y = e.deltaY * multiplier;
let target_scroll = div.scrollLeft + delta_y;
target_scroll = Math.min(target_scroll, div.scrollWidth);
div.scrollTo({ left: target_scroll, behavior: "smooth" });
last_wheel_timestamp = Date.now();
}
options.wheel?.(e as any);
return !div.matches(":hover");
};
Я рассмотрел другие вопросы, но они решают проблему вертикально прокручиваемых контейнеров, а не горизонтально прокручиваемые.


Подробнее здесь: https://stackoverflow.com/questions/795 ... ollable-co
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»