Как динамически изменить положение Popover Bootstrap? - PullRequest
0 голосов
/ 22 мая 2018

Есть ли способ изменить 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 Ответ

0 голосов
/ 22 мая 2018

Вы можете уничтожить и воссоздать поповер при изменении размера окна:

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'
   });
}
...