在打开和关闭角度ui bootstrap的uib-modal时修复页面移位

时间:2016-11-10 09:22:45

标签: javascript angularjs angular-ui-bootstrap bootstrap-modal

打开和关闭uib-modal时有页面转换。检查https://angular-ui.github.io/bootstrap/#/modal。注意滚动条消失和外观。

这个问题已在这里被问到(Opening AngularJS modal causes page to shift if scrollbar exists),但没有一个有效的灵魂。给出的唯一解决方案是将overflow-y设置为body,即使不需要滚动,也会创建垂直滚动。

body{
overflow-y: scroll !important;
}

还访问了以下链接,但无法为uib-modal实施该链接。有没有解决这个问题的方法?提前谢谢。

  1. https://github.com/twbs/bootstrap/issues/9855
  2. https://github.com/angular-ui/bootstrap/issues/3714

1 个答案:

答案 0 :(得分:0)

移位可能会到来,因为当模态打开时,它会向身体添加一些填充。由于一些错误,我甚至不知道这个填充物仍然与身体保持在一起,即使模态被关闭并且因为该页面移位。

当点击按钮关闭模态时,您可以尝试 -

    $("#ModalId").modal('hide');
    $('.modal-backdrop').remove();
    $('body').removeClass('modal-open');
    $('body').css('padding-right', '');

它适用于我的情况。