0

我有一个自定义画廊简码,因为我在我的画廊页面中使用同位素。所以基本上,我有一页画廊,我只是把我所有的图片拖放到这里,然后让 dessandro 的同位素布局完成剩下的工作。此外,我使用 Fancybox 作为我的灯箱,以便在单击时获得完整版本的图像。这些都在我创建的 functions.php 自定义库中。

它看起来不错,但是,在移动设备中,我想禁用这个功能,fancybox,因为在这么小的设备中安装灯箱有点尴尬。

我的解决方案是,禁用我在 functions.php 中创建的自定义图库功能,以便 wordpress 的本机图库(在新的更新 3.5 中很酷)将生效,因此也可以使用 fancybox 禁用同位素。

如果用户在移动版上点击图片,它将链接到 attachment.php 模板而不是 fancybox,因为自定义功能现在已禁用。

一个很好的例子是 http://thereason.us/

这个网站在 wordpress 中,所以我知道它是可能的。有人有想法吗?

我的谢谢。

4

1 回答 1

0

好吧,他们正在做的是他们正在检查屏幕宽度是否超​​过500像素,如果是,那么他们打开灯箱,否则他们保留链接的默认操作并打开附件页面。

因此,我建议您更改函数以向data-attachment链接到将保存附件页面 URL 的图像的锚点添加一个或不同的属性。

然后在您的 JS 中,首先将点击事件绑定到您的灯箱链接,例如:

(function($){
    $(".gallery a[href$='.jpg'], .gallery a[href$='.png'], .gallery a[href$='.jpeg'], .gallery a[href$='.gif']").on('click', function(){
        if ( parseInt($(window).width()) < 500 ) {
            window.location.href = $(this).attr('data-attachment');
            return false;
        }
    });
    // Initialize Fancybox
    $(".gallery a[href$='.jpg'], .gallery a[href$='.png'], .gallery a[href$='.jpeg'], .gallery a[href$='.gif']").attr('rel','gallery').attr('class','fancybox').fancybox();
})(jQuery);

然后实例化灯箱。理论上,这应该在灯箱之前绑定您以前的功能,但我不是 100% 确定。

于 2012-12-12T08:55:10.113 回答