0

我花了一整天的时间试图弄清楚如何解决这个问题,我放弃了。任何帮助都感激不尽。这是有问题的站点的链接:dev.propadis.com

我正在使用页面构建器 elementor 构建一个 WordPress 网站。我已经使用插件element 或 header footer builder创建了标题。在标题上附加了一个带有弹出框的按钮。当我单击弹出框时,后面的整个页面向右移动,然后在关闭弹出框时返回。

知道为什么吗?

4

2 回答 2

0

对于 WordPress,到目前为止,此解决方案对我有用。我正在使用 PopBox 和 Elementor/Elementor-Pro。

注意:在常规浏览器选项卡中进行测试。一些开发者响应视图可能没有正常的滚动条。

在主题的 style.css 中,添加:

html.modal-open {
    /* All of this stops the page from scrolling in the background */
    -ms-overflow-style: scrollbar;
    overflow: hidden;
    height: 100%;
}

body.modal-open {

  /* This is the crucial rule to get rid of the page shift when opening a modal.*/
  /* Also, try 'auto' if you have issues ie mobile vs desktop. */
  overflow: hidden !important;

  /* You may want to explore toggling this, depending on your circumstances (page length and/or presence of page scroll bars) */
  height: 100%;
}

在主题的脚本中,添加:

jQuery(document).ready(function($) {

    /* The following adds/removes classes to <html> accordingly */

    $('#mypopup').on('show.bs.modal', function (e) {
        $('html').addClass('modal-open');
    })

    $('#mypopup').on('hide.bs.modal', function (e) {
        $('html').removeClass('modal-open');
    })

});
于 2018-11-07T22:19:20.540 回答
0

当弹出框打开样式时:“padding-right:0”正在从 js 文件添加到您的正文中。

此外,一个名为 modal-open 的类正在添加到您的主体类中。

我认为您应该在主题中添加以下 jQuery 代码:

jQuery('.modal-open').css('padding-right', 17 + 'px');

(您可以将其添加到主题头部的 ) 中)

于 2018-03-23T13:47:11.857 回答