Bootstrap 3.0 scrollspy отзывчивые смещения

пытаюсь получить Bootstrap 's scrollspy для надежной работы на адаптивном сайте, на котором находится верхняя панель навигацииВысота s изменяется в зависимости от ширины медиа / браузера. Таким образом, вместо жесткого смещения наdata-offset атрибут яm устанавливаем его динамически с помощью инициализации Javascript следующим образом:

$('body').scrollspy({ offset: 70, target: '#nav' });

Для широких макетов (то есть Bootstrap -lg) он работает нормально, но для более узких макетов, кажется, есть "накапливая» смещение в силе. Другими словами, он отлично работает для первого раздела, но затем требует увеличения пикселей для активации следующих (например, 90 пикселей для следующего, 110 пикселей для третьего и т. Д.).

Я попытался манипулировать объектом scrollspy напрямую, как упоминалось в этом ответе:Как установить смещение для ScrollSpy в Bootstrap? но безрезультатно.

Может кто-нибудь порекомендовать канонический способ реализации scrollspy на адаптивном сайте, где смещение зависит от ширины носителя?

Дополнительная информация:

Я только что проанализировал объект scrollspy в обоих сценариях, и оказалось, что список смещений отличается, когда он 's инициализируется черезdata- Атрибуты только против через JS. Кажется, что когда я инициализирую его через JS, массив смещений заполняется до того, как произойдут некоторые адаптивные настройки BS, и, следовательно, высоты будут другими. Как я могу вызвать scrollspy 'инициализация спосле все отзывчивые вещи закончились? Есть ли перехват / обратный вызов после того, как BS выполнит настройку макета? JS вообще вовлечен или все адаптивные вещи обрабатываются CSS?

Ответы на вопрос(2)

Ваш ответ на вопрос