Как реализовать горизонтальную прокрутку вместо вертикальной при прокрутке?

Как можно обновить скрипт на jQuery, чтобы обеспечить корректную работу горизонтального меню с прокруткой, так чтобы меню активировалось и видоизменялось при прокрутке страницы, отображая текущий пункт меню?
  • 11 марта 2024 г. 7:49
Ответы на вопрос 2
Для реализации горизонтальной прокрутки вместо вертикальной необходимо использовать CSS и JavaScript. 

Пример CSS для горизонтального меню:

```css
.menu {
  display: flex;
  overflow-x: auto; /* включаем горизонтальную прокрутку */
  white-space: nowrap; /* предотвращаем перенос слов */
}

.menu-item {
  display: inline-block;
}
```

Пример обновленного скрипта на jQuery для активации текущего пункта меню при прокрутке страницы:

```javascript
$(document).scroll(function() {
  var scrollPos = $(document).scrollLeft();
  
  $('.menu-item').each(function() {
    var link = $(this).attr('href');
    var section = $(link).offset().left;
    
    if (scrollPos >= section && scrollPos < section + $(link).width()) {
      $(this).addClass('active');
    } else {
      $(this).removeClass('active');
    }
  });
});
```

В этом скрипте мы используем метод `.scrollLeft()` для получения текущей позиции прокрутки по горизонтали. Проверяем каждый пункт меню на соответствие его секции на странице и добавляем класс `active` текущему пункту меню при прокрутке на соответствующую секцию.

Не забудьте также добавить стили для класса `active` в CSS, чтобы выделить текущий пункт меню при прокрутке.
Прикрепляю ссылку на песочницу: https://codepen.io/uhesfyft-the-encoder/pen/YzMqajW
Похожие вопросы