Скрытие и отображение стрелок навигации на основе положения горизонтальной прокрутки pure javascript - PullRequest
0 голосов
/ 06 августа 2020

Я использую горизонтальную прокрутку с левой и правой кнопками навигации. Пока прокрутка находится в исходном состоянии, стрелка влево не должна быть видна. При нажатии стрелки вправо, когда он перемещается на половину пути, должна появиться стрелка влево.

Аналогично, когда он достигает правого конца, должна появляться стрелка вправо.

function move_right()
{
    var element = document.getElementById('scrollmenu');
    // x = element.clientWidth;
    x="50";
     element.scrollBy({ top: 0, left: x, behavior: 'smooth' });
}

function move_left()
{

    var element = document.getElementById('scrollmenu');
    // x = element.clientWidth;
    x="50";
     element.scrollBy({ top: 0, left: -x, behavior: 'smooth' });

}

Как определить прокрутку и скрыть стрелки влево и вправо.

1 Ответ

0 голосов
/ 06 августа 2020
document.getElementById('scrollmenu').addEventListener("scroll", function (e) {
        horizontal = e.currentTarget.scrollLeft;
        scrollWidth = e.currentTarger.scrollWidth;
        if(horizontal < (scrollWidth/2)) {
           // add `display: none` to left button
           // add `display: inline-block` to right button
         } else {
          // add `display: inline-block` to left
          // add `display: none` to right button
         }
        });

Насколько я понял из приведенного вами описания, это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...