У меня есть кнопка, которая открывает модальную. Эта кнопка всегда должна быть видимой. Если пользователь прокручивает страницу вниз, кнопка должна быть прикреплена сверху.Bootstrap 3 - affix не меняет классы
Я использую самозагрузки v3.1.1 и affix.js загружается в голове и прикрепляет «проставляет-топ» класса моей кнопки, как это должно быть.
Но когда я прокручиваю - я попробовал несколько вариантов implmentation - аффикс-топ класс не меняется на наклеить.
Вот мой код.
HTML:
<button class="btn btn-primary m-t-10 m-b-10"
id="standard-questions-button"
type="button"
data-toggle="modal"
data-target="#standard-questions-modal">
Show Questions
</button>
JS:
$('#standard-questions-button').affix({
offset: {top: $('#standard-questions-button').position().top}
});
// for testing only
$('#standard-questions-button').on('affix.bs.affix', function() {
alert('affix');
})
CSS:
#standard-questions-button.affix-top {
color: red;
position: static;
margin-top:25px;
width:228px;
}
#standard-questions-button.affix {
color: green;
top:25px;
float: right;
width:228px;
}
подход 2 (также не работает: завернутые в функции)
$('#standard-questions-button').affix({
offset: {top: function(){return $('#standard-questions-button').position().top}}
});
- Как я могу это решить?
- Я что-то пропустил?
Можете ли вы подготовить https://jsfiddle.net/ – vamsikrishnamannem
Очень странно, скрипка работает, как ожидалось ... https://jsfiddle.net/Lz0szvwe/ – Jan
С помощью вашего второго подхода с помощью функции попробуйте также «console» значение '$ ('# standard-questions-button'). position(). top' есть небольшая вероятность того, что ваш JS выполнит перед загрузкой CSS, и вы получите неправильное значение 'top'. – xpy