首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iPhone上的Fancybox()不能缩放

iPhone上的Fancybox()不能缩放
EN

Stack Overflow用户
提问于 2014-10-17 07:22:50
回答 1查看 683关注 0票数 0

我们将.fancybox()用于产品映像和相当大的(所有图像)。

它在桌面和iPads上运行良好。

只有在iPhone上,产品映像是可以的,但是太小了,无法读取。

问题是:

  • 我可以根据屏幕大小在一个特定的类上禁用fancybox吗?或
  • 我能让fancybox被缩放和压缩,或者像在iPhone上那样像普通图片一样打开它吗?(最后一种选择优先)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-17 17:42:11

对于希望在特定屏幕大小上禁用fancybox的客户端,我通常做的是

  1. 在一个变量中设置我喜欢的屏幕大小,如 var setfancybox = 480;//或随便什么 ……如果屏幕width大于480,我将允许图像在fancybox中打开,否则将以普通图像的形式打开。
  2. 代码(html)具有另一个类的目标元素,但fancybox如下所示: 图01 ..。在本例中,我使用的是类modal,这样就可以操作元素。
  3. 编写一个函数,检查屏幕的width,并动态地向我的modal选择器添加或删除fancybox类(它应该在fancybox初始化脚本之后运行)如下: 当屏幕大小> setfancybox值函数checkScreen() { screenWidth = window.innerWidth;if (screenWidth > setfancybox) { //模式元素应在fancybox (!jQuery(".modal").hasClass(" fancybox ")) {jQuery(“.modal”).addClass(“fancybox”)中打开;}{ if (jQuery(".modal").hasClass("fancybox")) { jQuery(".modal").removeClass("fancybox");}}jQuery(Document).ready(函数( $(".fancybox").fancybox();checkScreen();});//就绪
  4. 如果调整了checkScreen()的大小(更改了方向!?),您可以选择再次运行window函数。所以你可以: $(Window).resize(函数() { clearTimeout( _resize );_resize= setTimeout (函数() { checkScreen();},500);// setTimeout }); .注意到,我们使用setTimeout/clearTimeout来避免函数在resize进程中运行几次,但直到它停止为止。它还假设您以前将_resize变量声明为全局变量。

请参阅JSFIDDLE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26419940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档