Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2016, 12:52
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Расчитать кол-во блоков при прокрутки.
Здравствуйте.Хочу сделать прилипающий блок при прокрутки.Блоки справа в сайдбаре. Их кол-во не известно. Как рассчитать кол-во последних блоков которые полностью помещаются на экране, что бы потом применить скрипт для залипания к верхнему из этих блоков. Блок будет залипать к верхнему меню, оно фиксировано. Между футером и последним блоком в сайдбаре оставляю небольшой пробел.
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2016, 13:21
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

ureech,
Цитата:
рассчитать кол-во последних блоков
1) Достать коллекцию блоков и спросить length

Цитата:
которые полностью помещаются на экране
2) на экране или в сайдбаре?

3) Надо брать window.innerHeight - меню - пробел. Это будет доступная высота для размещения блоков (если у тебя всяких там других отступов нет)

4) Делишь допустимую высоту на размер коллекции, берешь целую часть. Это допустимое количество плотно прилегающих к друг другу блоков

5) Счетчик заводи

6) Надо сравнивать скроллТоп окна с офсетТопопами блоков. Если попал то счетчик + 1 и прилипай

7) Это продолжается пока счетчик не больше допустимого числа блоков. В противном случае не надо прилипать

8) Наверно надо будет для блоков вводить переменную прилип/не прилип. Это нужно когда обратно вверх будешь мотать

9) Я мог затупить
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2016, 13:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Сообщение от Coriolan161
3) Надо брать window.innerHeight - меню - пробел. Это будет доступная высота для размещения блоков (если у тебя всяких там других отступов нет)
Между блоками в сайдбаре есть отступы
Сообщение от Coriolan161
на экране или в сайдбаре?
На экране.
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2016, 13:55
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

ureech,
Если на экране, то window.innerHeight - меню - пробел перед футером == допустимая высота для размещения блоков

Ты это.. скажи мне блоки у тебя плотно прилипать должны или будет отступ?
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2016, 14:10
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Между блоками будут отступы 10рх,от верха браузера до блока 60рх и от футера 10рх
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
getAllResponseHeaders() и status имеют смысл только при readyState==4? mister_maxim AJAX и COMET 7 27.03.2011 19:08
Проблема при скрытии блоков в Опере InviS (X)HTML/CSS 1 20.03.2011 12:43
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 13:28
Отмена скролинга при прокрутки колеса мыши на определеном элементе. mycoding Общие вопросы Javascript 1 11.04.2010 17:38
Печать невидимых блоков mixeeff Events/DOM/Window 7 11.03.2009 11:41