Как динамически изменить положение Popover Bootstrap?
Есть ли способ изменить расположение / положение Bootstraps Popover в зависимости от ширины окна? Я использую его, чтобы отобразить некоторые дополнительные элементы формы, и мне нужно показать, если на левом сайте, но на мобильном телефоне сверху. Так что в основном, когда экраны становятся меньше - мне нужно изменить положение.
jQuery('#monthly-expenses').popover({
content: jQuery('#monthly-expense-datails'),
placement() {
let placement = 'left';
if (jQuery(window).width() <= 992) {
placement = 'top';
}
return placement;
},
html: true,
trigger: 'manual'
})
1 ответ
Вы можете уничтожить и воссоздать всплывающее окно при изменении размера окна:
var placement;
jQuery(window).on('resize',function(){
if (jQuery(window).width() <= 992 && placement == 'left') {//when the width is right and we did't change placement
placement = 'top';
jQuery('#monthly-expenses').popover('dispose');//destroy the
createPopover(placement);//create it with the new placement
} else if (jQuery(window).width() > 992 && placement == 'top')
placement = 'left';
jQuery('#monthly-expenses').popover('dispose');//destroy the popover
createPopover(placement);//create it with the new placement
}
});
function createPopover(placement) {
jQuery('#monthly-expenses').popover({
content: jQuery('#monthly-expense-datails'),
placement:placement,
html: true,
trigger: 'manual'
});
}