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

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

1. Получить высоту всего блока:

   const block = document.getElementById('blockId');
   const fullHeight = block.offsetHeight;

2. Получить высоту видимой области блока:

   const visibleHeight = block.clientHeight;

3. Получить вертикальное смещение верхней границы видимой области от верхней границы всего блока:

   const scrollTop = block.scrollTop;

4. Рассчитать высоту видимой части блока:

   const visiblePartHeight = Math.min(scrollTop + visibleHeight, fullHeight) - scrollTop;

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

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