我需要一个弹出插件(如 fancybox),它可以包含一个 iframe,并且在桌面浏览器和触摸浏览器(如 ipad、android 和 iphone)中都能很好地工作。当我捏触摸浏览器时,Fancybox 的表现非常奇怪。我真正需要它做的是:
- 包含 iframe
- 当我放大触摸浏览器时,我仍然可以左右滚动首页,而不会到处乱跳。它的行为应该像页面中的任何其他元素一样。
- 我应该可以说它应该是(例如)800 像素宽和视口(viewport)高度的 90%
- 如果视口(viewport)大小发生变化,最好应该重排
- 如果后面的页面滚动,它应该保持在页面中央。
最佳答案
默认的 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/