Как именно мы можем использовать clientHeight, scrollTop и scrollHeight под углом для настраиваемой полосы прокрутки? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть две настраиваемые кнопки (прокрутка вверх и прокрутка вниз) для определенного div.Div содержит некоторый набор элементов кнопки, который является динамическим.

Здесь я пытаюсь отключить кнопку «вниз», когда отображается последняя кнопка элемента div, и отключить кнопку «вверх», когда элементы div будут запускаться.Вот мой код

HTML-код:

<div class="no-gutter scroll-button">
        <button name="up" class="btn btn-sm btn-style" (click)="scrollUp(sectionBar)"><span
                class="glyphicon glyphicon-arrow-up"></span></button>
        <br>
        <button name="down" class="btn btn-sm btn-style" (click)="scrollDown(sectionBar)"><span
                class="glyphicon glyphicon-arrow-down"></span></button>
    </div>

JS-код:

 checkScrollHeight(){
     let scrollButton = document.getElementsByClassName("navigation-items")[0];


         if (scrollButton.clientHeight + scrollButton.scrollTop   >=  scrollButton.scrollHeight  ) {
         (<HTMLInputElement> document.getElementsByName("up")[0]).disabled = false;
         (<HTMLInputElement>document.getElementsByName("down")[0]).disabled = true   ;
     }else{

         (<HTMLInputElement> document.getElementsByName("up")[0]).disabled = true;
         (<HTMLInputElement>document.getElementsByName("down")[0]).disabled = false;
     }
 }

Это хорошо работает для меня, пока я не изменю размер окна просмотра,

После изменения размера окна браузера кнопка «Вниз» работает нормально.Но кнопка «вверх» будет отключена после однократного щелчка.

Есть ли логическая ошибка в условии my if или лучше, если условие возможно для этого?Пожалуйста, предложите.

Поскольку я в некоторой степени осведомлен о clientHeight, scrollTop аспектах, но я, конечно, не уверен, как реализовать это именно для моего запроса.

Спасибо.

...