Как получить высоту только видимой части блока?

Для того, чтобы получить высоту только видимой части блока, можно воспользоваться следующими шагами:

  1. Получить высоту всего блока:
   const block = document.getElementById('blockId');
   const fullHeight = block.offsetHeight;
  1. Получить высоту видимой области блока:
   const visibleHeight = block.clientHeight;
  1. Получить вертикальное смещение верхней границы видимой области от верхней границы всего блока:
   const scrollTop = block.scrollTop;
  1. Рассчитать высоту видимой части блока:
   const visiblePartHeight = Math.min(scrollTop + visibleHeight, fullHeight) - scrollTop;

Таким образом, переменная visiblePartHeight будет содержать высоту только видимой части блока.

Обратите внимание, что для вычисления видимой части блока, он должен быть стилизован с использованием CSS свойства overflow: auto или overflow: scroll, чтобы иметь возможность прокручивать содержимое блока и определить его видимую часть.