Вы можете сделать это следующим образом:
$('#nav2')
.affix({
top: YOUR-NEW-VALUE
})
.affix('checkPosition'); // this will recalculate the position
Редактировать , чтобы ответить на ваше предложение, утверждения документации аффикса Bootstrap:
(checkPosition
)Пересчитывает состояние аффикса на основе размеров, положения и положения прокрутки соответствующих элементов.Классы .affix, .affix-top и .affix-bottom добавляются или удаляются из прикрепленного содержимого в соответствии с новым состоянием.Этот метод необходимо вызывать всякий раз, когда изменяются размеры прикрепленного содержимого или целевого элемента, чтобы обеспечить правильное расположение прикрепленного содержимого.
Таким образом, нет необходимости удалять все классы и повторно-инициализировать affix
.Просто используйте фрагмент кода выше.
Подробнее о Bootstrap affix
можно найти здесь .
Лучшим вариантом будет установить его через css:
#nav2 {
position: fixed;
top: YOUR-INITIAL-POSITON
}
А затем с помощью jQuery измените только верхнюю позицию:
$('#nav2').css('top', YOUR-NEW-VALUE);
Надеюсь, это поможет.