javascript - 像 fancybox 这样的弹出插件可以在触摸设备上运行吗?

标签 javascript jquery fancybox

我需要一个弹出插件(如 fancybox),它可以包含一个 iframe,并且在桌面浏览器和触摸浏览器(如 ipad、android 和 iphone)中都能很好地工作。当我捏触摸浏览器时,Fancybox 的表现非常奇怪。我真正需要它做的是:

  1. 包含 iframe
  2. 当我放大触摸浏览器时,我仍然可以左右滚动首页,而不会到处乱跳。它的行为应该像页面中的任何其他元素一样。
  3. 我应该可以说它应该是(例如)800 像素宽和视口(viewport)高度的 90%
  4. 如果视口(viewport)大小发生变化,最好应该重排
  5. 如果后面的页面滚动,它应该保持在页面中央。

最佳答案

默认的 Fancybox2 有一些内置的触摸支持。如果您查看源代码,您将看到整个代码和默认设置中使用的 isTouch 变量。默认设置autoCenter的默认值为!isTouch,因此在移动浏览器上它不会居中,因为它没有得到很好的支持。我建议您测试这些默认值:

    <script>
        $(document).ready(function() {
            $('#selector').fancybox({
                modal: false
                ,type: 'iframe'
                ,minWidth: 960
                ,height: '90%'
                ,closeClick: false
                ,padding: 0
                ,scrolling: 'no'
                ,autoSize      : false
                ,helpers: {
                    overlay :{
                        closeClick:false
                        ,speedOut:0
                        ,showEarly:true
                    }
                }
            });
        });
    </script>

...

关于javascript - 像 fancybox 这样的弹出插件可以在触摸设备上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160739/

相关文章:

javascript - 回调返回值但似乎未定义

javascript - 在样式属性上使用它时,Angular4 中的这个属性绑定(bind)有什么问题?

jquery - 使用 jquery ajax 将内容 append 到 div id

javascript - 如何在客户端执行服务器返回的javascript

javascript - jquery selectbox 删除除两个选项之外的所有选项(选择器变量名称)

javascript - Redactor - 固定工具栏在移动设备上不起作用

php - AJAX/JQuery 和 PHP 无需重新加载联系表单即可发送提示

jquery - 关闭 Fancybox 后显示深色覆盖层

javascript - Fancybox 不是函数

jquery - 如何/在哪里定义 fancybox 默认值?