Главная >

Другие вопросы

    javascript: Как сделать чтобы при наведении на блок не скроллило?


    Here's the solution using JavaScript:

    const block = document.querySelector('.your-block-class'); // Replace with your block's class block.addEventListener('mouseover', () => { document.body.style.overflow = 'hidden'; // Prevent scrolling on hover }); block.addEventListener('mouseout', () => { document.body.style.overflow = 'auto'; // Allow scrolling again on mouseout });

    This code prevents scrolling when you hover over the block with the class .your-block-class and allows scrolling again when you mouseout.


    Keyword: 15
    Отключить (не убрать!) прокрутку при наведении на элемент

    На странице есть блок с собственным скроллингом (реализован без JS плагинов). Проблема в том, что когда пользователь долистывает прокрутку в блоке до конца, если и дальше крутить колесико, начинает скроллиться вся страница. Как заставить браузер "тормозить" по достижении конца блока и не скроллить дальше?

    Решения через добавление в нужный момент телу сайта свойств:

    overflow: hidden;
    

    или:

    position: fixed;
    width: 100%;
    overflow-y: scroll;
    

    мне не подходят. Причина в том, что в обоих случаях место, где находится полоса прокрутки, визуально изменяется, что привлекает внимание пользователя. Ранее сталкивался с одним JS плагином для создания кастомных полос прокрутки, в нем данная проблема была устранена. Подозреваю, что это можно сделать не слишком громоздко, а главное - чтобы было кроссбраузерно.

    В том самом плагине скорее всего использовалось именно overflow: hidden;, ведь плагин сам реализует сколлинг.

    Вернемся к проблеме. Единственный способ который мне приходи на ум, реализовать простой аналог системной прокрутки, но не отправлять событие прокрутки к родителю.

    HTML:

    CSS:

    .non-scroll{
        height: 2000px;
        background-color: green;
    }
    
    .scroll{
        height: 300px;
        overflow: auto;
        background-color: blue;
    }
    
    .other-stuff{
        height: 2000px;
    }
    

    JS:

    var scroll = document.getElementById("scroll");
    
    scroll.addEventListener("mousewheel", function(e) {
        this.scrollTop -= (e.wheelDeltaY || (e.originalEvent && (e.originalEvent.wheelDeltaY || e.originalEvent.wheelDelta)) || e.wheelDelta || 0);
        e.stopPropagation();
        e.preventDefault();
    });
    

    По моему личному мнению это очень плохая идея, жертвовать нативным скроллом ради избавления от этого небольшого "прыжка". Однако я сомневаюсь что существуют способы проще.

    Все подобные вопросы на английском SO. Так же приходят к довольно костыльным решениям.

    В любом случае, вот: живое демо


    Как сделать чтобы при наведении на блок не скроллило?

    qna.habr.com

    Здравствуйте, мне нужно сделать так, чтобы если мышка была на блоке swiper, тогда параметр navigation был false, я вроде бы написал, ...

    сделать чтобы наведении блок скроллило скроллило

    Отключить (не убрать!) прокрутку при наведении на ...

    ru.stackoverflow.com

    На странице есть блок с собственным скроллингом (реализован без JS плагинов). Проблема в том, что когда пользователь долистывает прокрутку в ...

    наведении прокрутку

    Как на JS сделать смену цвета при наведении мышки?

    qna.habr.com

    Если что-то можно сделать на CSS, то это должно быть сделано на CSS. Но для общего развития: .block { background: #fff; } .color1 ...

    сделать наведении мышки

    Плавающий блок (sticky div) CSS и JavaScript

    shpargalkablog.ru

    Вопрос: как сделать так, чтобы при наведении мышкой на кнопку "Вверх" становилась активной только сама эта кнопка, а не целая область, в которой ...

    javascript блок

    Раскрытие списка HTML Select при наведении мыши

    sky.pro

    Создайте программное раскрытие списка HTML Select с помощью JavaScript, эмулируя выпадающий список при наведении мыши с использованием HTML/CSS/JS.

    наведении мыши

    Показать / скрыть хедер при прокрутке вверх и вниз на JS

    www.youtube.com

    ... -header-by-scroll Содержание: 00:00 Привет 00:30 Разметка 00:45 Стили 02:50 JavaScript 09:10 Как использовать у себя #js #javascript #css.

    прокрутке скрыть

    Вертикальный скролл по mouseover - JavaScript

    www.cyberforum.ru

    ready(function(){ // При наведении на левый блок var winHeight = $(window).height(); var margin = $(#left_list).height() - winHeight; // ...

    javascript скролл

    Блокировка скролла всей страницы при наведении на ...

    javascript.ru

    При первом наведении на блок, скролл при помощи стрелок блокируется и больше не работает. Как сделать так, чтобы при уходе мыши с блока ...

    наведении блокировка скролла блокировка страницы

    Текст при наведении на картинку - Javascript-форум

    javascript.ru

    ready(function(){ $(div[class^=img]).hover(function(){ var s = $(this).attr(class) var res = s.slice(3, 4); function fil ...

    javascriptфорум наведении картинку

    Меняем свойства CSS при наведении на div с помощью JS

    sky.pro

    Быстрый ответ. Если вам необходимо срочно изменить CSS-свойства HTML-элемента через JavaScript, воспользуйтесь методом getElementById и присвойте новое значение ...

    наведении меняем помощью

    Всплывающие подсказки на jquery

    realadmin.ru

    ... при наведении мыши, а не клике. Теперь подключаем ... Тогда Вам не понадобятся DIV ... при наведении появляется подсказка с текстом можно сделать так что бы была ...

    всплывающие

    Scroll по нажатию на меню до блока плавно - JavaScript

    www.cyberforum.ru

    Проблема в том, что при клике на элемент меню, например, 4-й, если ты находишься на 1-м, происходит переброс на блок с пропуском 2,3 блока, из- ...

    javascript блока меню плавно

    Блокировка скролла на сайте с помощью CSS и JavaScript

    www.youtube.com

    ... block-scroll ... Анимация при прокрутке (скролле) страницы на HTML CSS и JavaScript ... Как сделать всплывающее окно (popup) на HTML CSS JavaScript.

    javascript блокировка скролла блокировка помощью

    Линия при скролле заполняется, блоки появляются по мере ...

    www.youtube.com

    webflow #вебфлоу Сегодня сделаем интересный блок, с прогресс баром, (заполняющейся линией сверху вниз + заполнение контрольных точек) ...

    блоки скролле

    Как сделать, чтобы картинка менялась при наведении ...

    htmlbook.ru

    Обычно для создания эффекта перекатывания применяется JavaScript, но в большинстве случаев вполне достаточно и CSS. Псевдокласс :hover. Вначале ...

    сделать чтобы наведении картинка менялась

    События мыши - JavaScript

    metanit.com

    </ html >. Теперь при наведении указателя мыши на блок blueRect он будет окрашиваться в красный цвет, а при уходе указателя мыши - блок будет ...

    javascript мыши

    Плавный скролл до блока. Навигация по странице. Кнопка ...

    www.youtube.com

    Модальные окна (попапы) на HTML CSS JavaScript. Всплывающие окна. Как это сделать? Фрілансер по життю•221K views · 6:28 · Go to channel ...

    блока скролл странице плавный

    всплывающий блок при наведении js

    dzen.ru

    ... блок при наведении js — статьи и видео в Дзене ... сделать, создав отдельный элемент в HTML-разметке ... не дойдет то тега body и далее до тега html ...

    наведении блок всплывающий

    Вопросы по теме

    javascript блок

    Другие вопросы

      Поиск предназначены только для ознакомительных целей!

      Мы не несём ответственности за причинённый ущерб, который мог получить пользователь за посещение сторонних сайтов
      Поиск реализован с помощью Yandex XML
      Яндекс.Метрика