0

此代码为每个 Colorbox 图像提供一个 URL (domain.com/#image)。然后,用户可以复制并粘贴此内容,以便在使用该 URL 进入站点时自动打开想要的照片。

一切都按预期工作,但不知何故,即使 URL 末尾没有#image,它也会自动打开网站上的第一张图片。我应该如何更改此代码,使其仅在 URL 中有#image 时自动打开图像?

谢谢!

代码:

jQuery(function (){
            var id, group;

            group = jQuery("a[rel='lightbox[63]']").colorbox({onComplete:function(){
                    // Get the image URL
                    with_ext = (this.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1];
                    // Get the image url without the extension
                    without_ext =  with_ext.substring(0, with_ext.lastIndexOf("."));
                    // Redirect
                    window.location.hash = without_ext;
            }, onClosed: function(){
                    location.hash = '';
            }});

            id = location.hash.replace(/^\#/, '')+".jpg";

            group.filter('[href$="'+id+'"]').eq(0).click();
    });
4

1 回答 1

0

好的,让它工作。如果其他人在这里需要这种功能,那就是:

jQuery(function (){
            var id, group;

            group = jQuery("a[rel='lightbox[63]']").colorbox({onComplete:function(){
                    // Get the image URL
                    with_ext = (this.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1];
                    // Get the image url without the extension
                    without_ext =  with_ext.substring(0, with_ext.lastIndexOf("."));
                    // Redirect
                    window.location.hash = without_ext;
            }, onClosed: function(){
                    location.hash = '';
            }});

            if(window.location.hash) {

                    id = location.hash.replace(/^\#/, '')+".jpg";
                    group.filter('[href$="'+id+'"]').eq(0).click();

            } else {
                    return;
            }


    });
于 2013-01-28T10:16:42.543 回答