像fancybox这样的弹出插件适用于触控设备?

时间:2013-01-04 16:15:39

标签: javascript jquery fancybox

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

  1. 包含iframe
  2. 当我放大触摸浏览器时,我仍然可以左右滚动首页,而不会在整个地方跳跃。它应该像页面中的任何其他元素一样。
  3. 我应该可以说它应该是(例如)800像素宽和90%的视口高度
  4. 如果视口大小更改
  5. ,最好应该重排
  6. 如果页面背后的页面滚动,它应该保持在页面的中心位置。

2 个答案:

答案 0 :(得分:2)

jQueryUI Dialog怎么办?

根据我的经验,它在移动设备上表现良好,并且支持iframe作为对话框内容。

答案 1 :(得分:2)

默认的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>

...