Из чтения нескольких связанных вопросов по этому вопросу я понимаю, что вообще нет метода $.affix('refresh')
для компонента аффикса бутстрапа twitter - моя проблема, хотя и связанная, может быть еще одним шагом между просто обновлением, позвольте мне попробуйте объяснить.
У меня есть страница со стандартным навигационным навигатором. ниже которого я буду прикреплять суб-навигатор, который "выталкивает", как только пользователь прокручивается мимо x-пикселей (в моем случае navbar имеет высоту 41px, поэтому при 41px аффикс срабатывает и изменяет класс .affix на .affix {top:41px}
все хорошо)
Итак, для этого первого аффикса я могу использовать только атрибуты html.
Далее по странице (по существу, можно считать "вторую страницу" ). У меня есть еще одна часть навигации, которая должна "прикрепляться" и заменять первый суб-навигатор, когда пользователь прокручивается до определенной позиции, - учитывая, что местоположение второй страницы/аффикса является переменной из-за содержимого, которое я использую js для вычисления высоты первой страницы и установки offset: {top:xxx}
на основе того, что я получаю.
Это также отлично работает/как и ожидалось, когда пользователь немного прокручивается, первый суб-навигационный аффикс срабатывает, если он продолжает прокручивать и достигает второго суб-навигатора дальше по странице, на которой он запускает и заменяет первое аффикс 'ed sub-nav (он фактически не заменяет его как таковой, а скорее накладывается с более высоким z-индексом)
Отныне у меня есть две проблемы, которые я не смог найти для решения:
-
когда пользователь изменяет размеры окна, содержимое первой страницы становится более продолжительным, что меняет мои исходные размеры смещения для аффикса вниз по странице. Сначала я подумал, что простой вызов
.affix('refresh')
будет/может быть решением, но, конечно, этот метод даже не доступен для компонента. Затем я подумал, что могу просто вручную снова рассчитать высоту и заново создать$('.my-second-affix').affix({offset: {top:x-new-offset}});
- НО по какой-то причине это, похоже, не работает вообще, и я не могу понять, почему: ( -
следующая проблема для решения этой проблемы заключается в том, что я также использую jquery infinitescroll для загрузки все большего количества страниц... каждая страница может иметь другую суб-навигацию на разных этапах, которые я хотел бы наложить и заменить который когда-либо был последним аффиксом, находится наверху.
Примечание. Я также хотел бы удостовериться, что если пользователь прокрутит назад другое направление, которое ранее прикрепленные суб-навигаторы будут повторно прикреплять себя назад (что, я подозреваю, они просто отлично до тех пор, пока смещения аффикса верны)
Надеюсь, этого объяснения достаточно, чтобы подчеркнуть мою проблему, и кто-то либо рассмотрел это раньше, либо может предложить некоторые рекомендации по решению. Я попытался получить смещение как функцию, которая возвращает текущее смещение сверху. (Как упоминалось в другом вопросе щелкать по бутстрапу с изменением аффикса), но для некоторых причина, которая также не работает должным образом.
Любая помощь приветствуется