Jquery Gallerific 和 fancybox 冲突

发布于 2024-10-27 20:24:06 字数 250 浏览 1 评论 0原文

所以我环顾四周,找不到任何有用的东西。我正在尝试加载一个带有画廊的画廊,里面有一个我想使用 fancybox 打开的图像。看起来画廊接管了一切,你无法对里面的元素做任何事情。即使我尝试调用画廊内的某些内容,它也只会返回 null。

我什至尝试在 onPageTransitionIn 和 onTransitionIn 上调用 fancybox。 onTransitionIn 破坏了画廊,并且它对 onPageTrans 不执行任何操作。

有什么想法吗?

So i looked around here and couldn't find anything that works. I am trying to load a gallery with gallerific and inside there is an image that i want to open using fancybox. It seems like gallerific takes over and you can't do anything with the elements inside. Even if i try to call something within the gallery it just returns null.

I even tried to call fancybox on the onPageTransitionIn and onTransitionIn. The onTransitionIn breaks the gallery and it does nothing on the onPageTrans.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

想挽留 2024-11-03 20:24:06

我设置了这个,以便标题中的默认画廊下载图像改为加载 fancybox 窗口

   $(document).ready(function() {
        var gallery = $('#thumbs').galleriffic({
            delay:                     2500,
            numThumbs:                 15,
            preloadAhead:              10,
            enableTopPager:            false,
            enableBottomPager:         false,
            maxPagesToShow:            7,
            imageContainerSel:         '#slideshow',
            controlsContainerSel:      '#controls',
            captionContainerSel:       '#caption',
            loadingContainerSel:       '#loading',
            renderSSControls:          true,
            renderNavControls:         true,
            enableHistory:             false,
            autoStart:                 false,
            syncTransitions:           true,
            defaultTransitionDuration: 900,
            onTransitionIn:   function(slide, caption, isSync) {
                slide.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);
                if (caption){
                    caption.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);

                    caption.find("a.fancybox").fancybox({
                        'titleShow'     : true,
                        'transitionIn'  : 'elastic',
                        'transitionOut' : 'elastic',
                        'easingIn'      : 'easeOutBack',
                        'easingOut'     : 'easeInBack'
                    });
                }
            }

        });
    });

I set this so that the default galleriffic download image inside the caption instead loads fancybox window

   $(document).ready(function() {
        var gallery = $('#thumbs').galleriffic({
            delay:                     2500,
            numThumbs:                 15,
            preloadAhead:              10,
            enableTopPager:            false,
            enableBottomPager:         false,
            maxPagesToShow:            7,
            imageContainerSel:         '#slideshow',
            controlsContainerSel:      '#controls',
            captionContainerSel:       '#caption',
            loadingContainerSel:       '#loading',
            renderSSControls:          true,
            renderNavControls:         true,
            enableHistory:             false,
            autoStart:                 false,
            syncTransitions:           true,
            defaultTransitionDuration: 900,
            onTransitionIn:   function(slide, caption, isSync) {
                slide.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);
                if (caption){
                    caption.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);

                    caption.find("a.fancybox").fancybox({
                        'titleShow'     : true,
                        'transitionIn'  : 'elastic',
                        'transitionOut' : 'elastic',
                        'easingIn'      : 'easeOutBack',
                        'easingOut'     : 'easeInBack'
                    });
                }
            }

        });
    });
终陌 2024-11-03 20:24:06

好吧,我终于明白了。万一其他人有困难。

您可以在 onTransition 中定义您想要的内容。

然后你可以调用常规函数来 get

onTransitionIn:   function(slide, caption, isSync) {
slide.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);
if (caption)
    caption.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);

    manipulate elements here
}

它会以默认方式加载它,然后你就可以做你想做的事情了。

Ok so i finally got this. In case anyone else has difficulties.

You can define what you want in the onTransition.

Then you can call the regular function to get

onTransitionIn:   function(slide, caption, isSync) {
slide.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);
if (caption)
    caption.fadeTo(this.getDefaultTransitionDuration(isSync), 1.0);

    manipulate elements here
}

It will load it the default way and you can then do what you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文