Динамический список на JavaScript
Думаю для начала вам нужно посмотреть пример, чтобы было понятно, о чем идет речь.
Где-то видел подобную штуку и забыл где, потом понадобилось, а найти уже не смог, вот пришлось написать самому. Оказалось не очень сложно просто надо было узнать точную высоту всех элементов списка, чтобы можно было точно их позиционировать относительно друг друга. В этом мне помогла программка Инспектор DOM из Mozilla SeaMonkey.
Изучая структуру документа (см. пример к статье) в Инспектор DOM я обнаружил нужные мне аттрибуты дивов. Это были:
- offsetTop - высота от начала дива контейнера, до позиции заданного дива внутри дива контейнера (извините за каламбур, мне кажется название аттрибута говорит само за себя),
- offsetHeight - высота дива,
- scrollHeight - этот аттрибут дива контейнера мне понадобился, чтобы узнать высоту всех элементов списка (дивов).
Дальше я задал для всех дивов списка стиль position:relative; и смещал их относительно друг друга, как мне было угодно. Написал функцию doScroll() (см. архив с исходниками zip 2,82 KB), которая на каждом шаге смещала каждый див на один пиксель ввверх, а как только какой-нибудь див пропадал из поля зрения, перемещала его в конец списка.
Скрипт тестил в IE 6,7, SeaMonkey 1.1.1, Opera 9.02.
