Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, DSD, Вы писали:
DSD>>почти
в смысле, да, всегда последняя публичная. именно этот урл и будет обновляться.
M>пока не стал перелопачивать весь твой код. мбо ты наверное сам его правишь.
M>замечания по мультибраузерности. чтобы проше потом было переводить.
M>obj.children -> obj.childNodes
поправил.
M>obj.parent -> obj.parentNode
не нашел такого. там в одном месте только и изначально parentNode да и то — в отладочном комментарии.
M>document.all -> document.getDocumnetById — тут самые большие сложности. ибо у тебя местами завязано чтото на индексе в коллекции all например тут: dock_get_panels()
M>пояснри смысл этго метода?
вызывается он в основном перед началом Drag. суть его — получить координаты всех прямоугольников "принимающих" панелей, чтобы при таскании объекта над панелью вовремя ловить, когда и над какой именно панелью находится объект.
почему я перечитываю координаты именно при начале перетаскивания — оптимальная производительность. если перечитывать на каждый onmousemove — будет тормозить. если один раз при загрузке страницы — координаты будут неактуальными.
раньше я в onmousemove ловил панель через elementFromPoint(), но это тормознуто и некорректно, т.к. он возвращает верхий(topmost) элемент, а их может быть наслоение.
возможно этот метод будет переписан для улучшения производительности.
насчет document.all: по идее пробежку по всей иерархии можно вынести в onload, чтобы за один проход получить массив панелей, а в onmousedown только пробегаться по этому массиву и обновлять координаты. единственно — как отлавливать динамическое добавление панелей? но это решаемо.
вот собственно и вопрос: как пробежаться по иерархии "переносимым" способом, без document.all ?