Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2012, 03:15
Новичок на форуме
Отправить личное сообщение для alexpop Посмотреть профиль Найти все сообщения от alexpop
 
Регистрация: 19.03.2012
Сообщений: 2

Работа с объектом при прокрутке экрана (scroll)
Здравствуйте, не могу понять, как концептуально решается следующая задача:
У меня есть несколько блоков, внутри каждого есть SPAN с заголовком этого блока. Также, есть пустой UL, в который необходимо копировать эти заголовки при прокрутке страницы. Причем, только один раз на каждый заголовок.
А именно: при скролле страницы, как только верхняя граница блока достигает верха окна - заголовок должен скопироваться. Затем следующий блок, и так до конца. В итог должен получиться список из всех заголовков блоков.

В чем проблема
Я не могу понять, как сделать, чтобы обрабатывался только тот блок, который пересек верхнюю границу окна, а остальные пока не включались.
Сейчас, при пересечении верха – все заголовки добавляются, причем бесконечно.

HTML
Код:
<div class="item">
    <span>#1 container Title</span>
</div>
<div class="item">
    <span>#2 container Title</span>
</div>
<div class="item">
    <span>#3 container Title</span>
</div>
<div class="item">
    <span>#4 container Title</span>
</div>
   
<ul class="list">
</ul>​
Что есть
$(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/
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2012, 11:13
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно так http://jsfiddle.net/QkMDR/40/
Ответить с цитированием
  #3 (permalink)  
Старый 19.03.2012, 12:39
Новичок на форуме
Отправить личное сообщение для alexpop Посмотреть профиль Найти все сообщения от alexpop
 
Регистрация: 19.03.2012
Сообщений: 2

Круто! Все работает. Спасибо огромное! Не хватает мне системности знаний пока.

Единственный вопрос, что имеет ввиду Komodo, когда выводит предупреждение от том, что анонимная функция не всегда возвращает значение? Неименованная функция. Как это залечить?
Убрал return - все стало норм. Без return'a тот-же эффект

Последний раз редактировалось alexpop, 19.03.2012 в 18:32.
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2013, 13:07
Новичок на форуме
Отправить личное сообщение для ArslanovDR Посмотреть профиль Найти все сообщения от ArslanovDR
 
Регистрация: 19.12.2013
Сообщений: 1

Я прошу прощения, сразу скажу что со скриптами я вообще не в зуб ногой, но... нужно решить, думаю не сложную задачу, в духе той, что обсуждалась здесь...

есть div
необходимо при скроллинге стриницы на 200 пикс вниз этот див сделать высотой 0 пикс, а при возврате на самый верх страницы вновь сделать высоту дива в 200 пикс.

Подскажите?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как задать изменение src при прокрутке chandler Элементы интерфейса 3 12.01.2012 01:23
выборка в php при прокрутке страницы вниз Tchort Events/DOM/Window 4 11.08.2011 17:38
Дерганье div-а при прокрутке Vreditel Events/DOM/Window 2 04.03.2011 08:07
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39
Меню выезжающее слева при подведении курсора к левой части экрана Артём Тарасов Общие вопросы Javascript 6 25.02.2009 14:18