Noister, Открывайте инстпектор в браузере и смотрите. Убрав высоту - ваши блоки стали нулевой высоты , поэтому их не видно. Добавите контент внутрь - увидите.
Илья Борисенко, откройте диспетчер задач на вкладке "производительность". Во время зависания обратите внимание на Активное время и Среднее время ответа жестких дисков. Если активность 100% а ответ – 0, значит ваш диск пора менять.
Для отладки кода я бы посоветовал настроить xDebug и построчно прогнать программу, наглядно увидев как она исполняется.
Или дедовским методом – расставьте вардампы в каждой функции, в каждой ветке условия, перед условиями, и посмотрите что выполняется и с какими данными.
Андрей Елсуков, я не особо секу в битриксе. но зато хорошо знаю php.
Если ему не запрещать, то он вам не то что про ошибки расскажет, но и про гораздо менее важные косяки. И даже имя файла назовёт и номер строки в нём.
ну простая математика же.
подсчитали высоту контента, и постоянно сверяем ее со значением скролла страницы. В плавающем режиме кнопка может быть с фиксированной позицией. При достижении порогового значения скролла может стать абсолютной с прижатием вниз контента. Это один вариант. Второй - использовать липкое позиционирование (position:sticky). Третий похож на первый, но без переключения позиционирования, вместо которого постоянно рассчитывается необходимое положение по вертикали.
В общем, пытайтесь, делайте. Если что-то не получиться - задавайте конкретные вопросы.
Сразу учитесь пользоваться средствами разработчика, встроенными в любой браузер.