Я пытаюсь реализовать аффикс в бутстрапе. Это не должно быть проблемой, но я хочу сделать ее отзывчивой.Bootstrap affix reset not works
При изменении размера страницы некоторые элементы будут спрятаться в верхней части страницы, и из-за изменения ширины мне нужно сбросить аффикс и установить в новое положение.
Я просто ищу его и нашел accepted solution, но, похоже, он не работает.
Это то, что я пробовал:
$(window).off('#myAffix');
$('#myAffix').removeData('bs.affix').removeClass('affix affix-top affix-bottom');
$('#myAffix').affix({
offset: {
top: function() {
console.log('Offset top from: ' + $('.navbar').offset().top);
return (this.top = $('.navbar').offset().top);
}
}
});
Я зову его на document.ready
, и на window.resize
событий.
Я создал для него демоверсию. Это шаги, как вы можете воспроизвести проблему:
Когда вы открываете его, изменить размер окна reult пока есть 2 колонки перед окаймленной аффикса, и перезагрузите страницу. Когда вы прокрутите вниз, вы увидите, что аффикс начинает работать, когда ему это нужно.
Измените размер окна, пока остается только левая колонка. Affix также работает сейчас.
Снова измените размер окна, пока появится правая колонка. Теперь аффикс запустит, когда достигнет предыдущей позиции, высоты левого столбца. Это плохо.
Кажется, мой код работает, но не влияет на аффикс.
PS: Меня не интересует положение аффикса, я просто хочу исправить, когда/где он будет исправлен.
Я должен сказать, что это немного расстраивает, что через 12 часов после того, как я дал свой ответ, вы взяли мой код, немного изменили его, добавили объяснения и написали более длинный ответ, чтобы «выиграть» щедрость. Просто говорю. – Dekel
@Dekel Мой ответ не просто содержит ваш код, он имеет больше шагов, и эти шаги подвели итоги исследования, которое я сделал. Принятый ответ OP упоминает, также содержит ваш ответ, и, как сказал OP, это не сработало. В любом случае, если ОП обнаружит, что ваш ответ решает проблему, он должен принять ваш ответ. –
Ответ на упоминания OP не содержит моего ответа. Проблема заключалась в различиях между '$ (window) .off ('# myAffix');' to '$ (window) .off ('. Affix');'. На этом основано все решение. – Dekel