У меня есть две настраиваемые кнопки (прокрутка вверх и прокрутка вниз) для определенного 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
аспектах, но я, конечно, не уверен, как реализовать это именно для моего запроса.
Спасибо.