Работа с объектом при прокрутке экрана (scroll)
Здравствуйте, не могу понять, как концептуально решается следующая задача:
У меня есть несколько блоков, внутри каждого есть SPAN с заголовком этого блока. Также, есть пустой UL, в который необходимо копировать эти заголовки при прокрутке страницы. Причем, только один раз на каждый заголовок. А именно: при скролле страницы, как только верхняя граница блока достигает верха окна - заголовок должен скопироваться. Затем следующий блок, и так до конца. В итог должен получиться список из всех заголовков блоков. В чем проблема Я не могу понять, как сделать, чтобы обрабатывался только тот блок, который пересек верхнюю границу окна, а остальные пока не включались. Сейчас, при пересечении верха – все заголовки добавляются, причем бесконечно. HTML Код:
<div class="item"> $(window).scroll(function() { var vItem = $('.item'), vScroll = $(this).scrollTop(), vPos = vItem.offset(); if (vScroll > vPos) { $('.item').find('span').clone().appendTo('.list'); $('.list span').wrap('<li></li>'); } }); http://jsfiddle.net/alexpop/QkMDR/39/ |
можно так http://jsfiddle.net/QkMDR/40/
|
Круто! Все работает. Спасибо огромное! Не хватает мне системности знаний пока.
Убрал return - все стало норм. Без return'a тот-же эффект |
Я прошу прощения, сразу скажу что со скриптами я вообще не в зуб ногой, но... нужно решить, думаю не сложную задачу, в духе той, что обсуждалась здесь...
есть div необходимо при скроллинге стриницы на 200 пикс вниз этот див сделать высотой 0 пикс, а при возврате на самый верх страницы вновь сделать высоту дива в 200 пикс. Подскажите? |
Часовой пояс GMT +3, время: 07:37. |