javascript - Magnific 弹出窗口在 iPhone 上有滚动问题

标签 javascript jquery ios iphone magnific-popup

我正在使用 Magnific 弹出窗口在我的站点中显示弹出窗口,它在所有浏览器和智能手机上运行良好,但是在 iPhone 上出现问题,当我在打开弹出窗口的情况下滚动页面时,“正文”一起滚动。

这是我的 jQuery 代码:

if ($.fn.magnificPopup) {
    $('.open-popup').magnificPopup({
        type: 'inline',
        alignTop: true,
        midClick: true,
        fixedContentPos: true,
        removalDelay: 300,
        mainClass: 'modulos-popup fade-popup'
    });
    $.extend(true, $.magnificPopup.defaults, {
      tClose: 'Fechar (Esc)',
      tLoading: 'Carregando...'
    });
}

最佳答案

是的,我遇到了同样的问题,似乎以下补丁对我有效:

utils.js(如果你在不同的地方使用弹出窗口很有用)

window.Utils = {
  magnificPopupConfiguration: function() {
    var startWindowScroll = 0;

    return {
      beforeOpen: function() {
        startWindowScroll = $(window).scrollTop();
        $('html').addClass('mfp-helper');
      },
      close: function() {
        $('html').removeClass('mfp-helper');
        setTimeout(function(){
          $('body').animate({ scrollTop: startWindowScroll }, 0);
        }, 0);
      }
    }
  }
}

CSS:

.mfp-wrap {
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translateZ(0);
}

html.mfp-helper {
  height: 100%;

  body {
    overflow: hidden;
    height: 100%;
    -webkit-transform: translateZ(0);
  }
}

准备js:

   $(document).ready(function() {

      if ($('.open-popup-link').length) {
        startWindowScroll = 0;
        $('.open-popup-link').magnificPopup({
          type: 'inline',
          midClick: true,
          fixedContentPos: true,
          callbacks: Utils.magnificPopupConfiguration()
        });
      }
   });

html:

   <a class="open-popup-link" href="#your-html-content">text link</a>

关于javascript - Magnific 弹出窗口在 iPhone 上有滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32277167/

相关文章:

ios - 检查 SQLite3 数据库是否包含任何数据

javascript - 无法在 Firefox 上从 Javascript 提交表单

javascript - 放映后将焦点设置到 div

jquery - 将自定义参数添加到 jQuery UI Datepicker

ios - Azure 通知中心 : APNS dictionary not being sent.

ios - 如何更改 iOS 7 或 6 中的导航栏颜色?

javascript - 什么是exports.displayName =(未定义: ?字符串);意味着 react native ?

javascript - 使用 Jquery 动态附加 HTML 返回 [Object object]

javascript - Jquery函数检查图像的SRCset是否完成加载

javascript - dom 不支持以编程方式添加的样式表元素