基于视口大小动态修改/禁用javascript



我正在一个响应式网站设计中使用galleroffice jQuery图像库插件,可以在这里查看。正如你可以通过调整浏览器窗口的大小看到的,我已经为iPad创建了各种状态,人像和;横向——它仍然显示完整的图像库,即缩略图和相邻的全尺寸图像——最后是iPhone的,它只显示缩略图。

我的问题是,在iPhone布局中,缩略图仍然链接到我隐藏的主图库容器,而我希望它们只是链接到更大的JPEG,以便单独打开,即好像galleroffice脚本被完全禁用一样。该脚本正在动态删除附加在"ul.tumbs"上的"noscript"类,因此在没有javascript的情况下,库将正常降级。我认为,通过jQuery addclass重新添加该类,我可以有效地禁止galleroffice初始化,但这并没有起到作用。

最终,我希望找到一个最优雅的解决方案,当视口为480像素或更低时,可以更改/禁用galleroffice脚本对缩略图链接的修改——这可能吗?

感谢您的指导。

document.ready()(或备选方案)内部进行条件检查。

if($(window).width() > 480){
//create gallery
}

请记住,这不适用于那些动态调整浏览器大小的人——除了网络开发人员之外,几乎没有人会这样做。

您最好使用基于CSS媒体查询的检测来触发js函数,有些浏览器的媒体查询宽度与js中报告的宽度不同。

是的,人们DO现在经常调整他们的窗口大小。。。当有人旋转他们的iphone/android时,这是一个窗口调整事件。

请参阅此相关问题,其中包括一些基本代码:如何让CSS媒体查询与jQuery$(window).innerWidth()一起工作?

我遇到了类似的问题,有些旋转木马必须在移动设备上创建,但在桌面上销毁。。。我不喜欢以像素为单位检查窗口宽度的解决方案,所以我创建了一个小函数,当mediaquery状态发生变化时"侦听"。

您可以在每个状态下定义自己的代码("输入移动分辨率时"、"离开桌面时")。。。

希望可能对其他人有用;)
https://github.com/carloscabo/MQBE

最新更新