Я бы сказал, что scrollBottom как прямая противоположность scrollTop должен быть:
var scrollBottom = $(document).height() - $(window).height() - $(window).scrollTop();
Вот небольшой уродливый тест, который работает для меня:
// SCROLLTESTER START //
$('<h1 id="st" style="position: fixed; right: 25px; bottom: 25px;"></h1>').insertAfter('body');
$(window).scroll(function () {
var st = $(window).scrollTop();
var scrollBottom = $(document).height() - $(window).height() - $(window).scrollTop();
$('#st').replaceWith('<h1 id="st" style="position: fixed; right: 25px; bottom: 25px;">scrollTop: ' + st + '<br>scrollBottom: ' + scrollBottom + '</h1>');
});
// SCROLLTESTER END //
Ответьте на этот вопрос, если кто-то еще посчитает это полезным. Кажется, проблема в том, что кнопка «Тест» в драйвере ODBC не учитывает параметры, заданные в параметрах libpq, а просто использует настройки по умолчанию. Когда я сохранил ODBC-соединение, закрыл окно ODBC Data Source Administrator и использовал соединение из другой программы, он смог успешно установить соединение.