Closed shospodarets closed 11 years ago
Здравствуйте, Сергей.
Большое спасибо за участие в проекте. К сожалению, я не могу принять Ваши изменения, т.к. придерживаюсь политики минимального вмешательства в оригинальное поведение элементов, а данное решение изменяет содержимое оригинального контейнера, оборачивая его содержимое в подконтейнер.
Как Вы видели в обсуждении, даже мминимально необходимое вмешательство может привести к недопониманию "почему мой код раньше изменял элемент, а теперь не работает?", подобное же вмешательство может привести к пересмотру кода и необходимостью исправить его с учётом возможности наличия подконтейнера resize-listener.
Пользователь всегда может вручную переинициализировать скролл при изменении содержимого.
ok.
1) Ваша реализация предусматривает оборачивание всего блока в .scroll-wrapper
.
2) Моя добавляет оборачивание внутреннего содержимого в .resize-listener
.
Оба этих момента предполагают изменения структуры- соответственно, нужно оба их учитывать.
Второй, конечно, более существенно может повлиять на поведение элемента, если изменения структуры заранее не предполагались.
Если предположить, что "пользователь всегда может вручную переинициализировать скролл при изменении содержимого" - тогда ни setInterval
, ни listener на overflowChanged
не нужны.
В любом случае, я убедился, что есть действительно хороший способ подписаться на изменение размеров отдельного элемента.
If browser supports "overflowChanged"/"resize" events-> setInterval replaced by them. Link to description- http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/