我花了一整天的时间试图弄清楚如何解决这个问题,我放弃了。任何帮助都感激不尽。这是有问题的站点的链接:dev.propadis.com
我正在使用页面构建器 elementor 构建一个 WordPress 网站。我已经使用插件element 或 header footer builder创建了标题。在标题上附加了一个带有弹出框的按钮。当我单击弹出框时,后面的整个页面向右移动,然后在关闭弹出框时返回。
知道为什么吗?
我花了一整天的时间试图弄清楚如何解决这个问题,我放弃了。任何帮助都感激不尽。这是有问题的站点的链接:dev.propadis.com
我正在使用页面构建器 elementor 构建一个 WordPress 网站。我已经使用插件element 或 header footer builder创建了标题。在标题上附加了一个带有弹出框的按钮。当我单击弹出框时,后面的整个页面向右移动,然后在关闭弹出框时返回。
知道为什么吗?
对于 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');
})
});
当弹出框打开样式时:“padding-right:0”正在从 js 文件添加到您的正文中。
此外,一个名为 modal-open 的类正在添加到您的主体类中。
我认为您应该在主题中添加以下 jQuery 代码:
jQuery('.modal-open').css('padding-right', 17 + 'px');
(您可以将其添加到主题头部的 ) 中)