如何从一个链接添加Fancybox图库上的按钮样式?

时间:2013-07-19 18:55:48

标签: fancybox gallery fancybox-2

我正在使用Fancybox在项目中弹出照片库和视频。我已成功地从一个链接设置照片库,但我无法弄清楚如何改变该画廊的风格。我更喜欢“按钮助手”的风格。

这是HTML:

<a class="fancybox" data-fancybox-group="gallery" href="img/dog1.png" title="Caption will go here.">
    <i class="icon-camera"></i>“The pictures</a>
    <a class="hide fancybox" data-fancybox-group="gallery" href="img/dog2.png" title="Caption will go here."></a>
    <a class="hide fancybox" data-fancybox-group="gallery" href="img/dog3.png" title="Caption will go here."></a>

这很好用,但我更喜欢按钮辅助风格的画廊。我能够让按钮帮助器库工作,但不能从单个链接。它仅在页面上显示所有缩略图时才有效。

如何从单个链接更改图库的样式?

这是我正在使用的jQuery:

$(document).ready(function() {
        /*
         *  Simple image gallery. Uses default settings
         */

        $('.fancybox').fancybox();

        /*
         *  Different effects
         */

        // Change title type, overlay closing speed
        $(".fancybox-effects-a").fancybox({
            helpers: {
                title : {
                    type : 'outside'
                },
                overlay : {
                    speedOut : 0
                }
            }
        });

        // Disable opening and closing animations, change title type
        $(".fancybox-effects-b").fancybox({
            openEffect  : 'none',
            closeEffect : 'none',

            helpers : {
                title : {
                    type : 'over'
                }
            }
        });

        // Set custom style, close if clicked, change title type and overlay color
        $(".fancybox-effects-c").fancybox({
            wrapCSS    : 'fancybox-custom',
            closeClick : true,

            openEffect : 'none',

            helpers : {
                title : {
                    type : 'inside'
                },
                overlay : {
                    css : {
                        'background' : 'rgba(238,238,238,0.85)'
                    }
                }
            }
        });

        // Remove padding, set opening and closing animations, close if clicked and disable overlay
        $(".fancybox-effects-d").fancybox({
            padding: 0,

            openEffect : 'elastic',
            openSpeed  : 150,

            closeEffect : 'elastic',
            closeSpeed  : 150,

            closeClick : true,

            helpers : {
                overlay : null
            }
        });

        /*
         *  Button helper. Disable animations, hide close button, change title type and content
         */

        $('.fancybox-buttons').fancybox({
            openEffect  : 'none',
            closeEffect : 'none',

            prevEffect : 'none',
            nextEffect : 'none',

            closeBtn  : false,

            helpers : {
                title : {
                    type : 'inside'
                },
                buttons : {}
            },

            afterLoad : function() {
                this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
            }
        });


        /*
         *  Thumbnail helper. Disable animations, hide close button, arrows and slide to next gallery item if clicked
         */

        $('.fancybox-thumbs').fancybox({
            prevEffect : 'none',
            nextEffect : 'none',

            closeBtn  : false,
            arrows    : false,
            nextClick : true,

            helpers : {
                thumbs : {
                    width  : 50,
                    height : 50
                }
            }
        });

        /*
         *  Media helper. Group items, disable animations, hide arrows, enable media and button helpers.
        */
        $('.fancybox-media')
            .attr('rel', 'media-gallery')
            .fancybox({
                openEffect : 'fade',
                closeEffect : 'fade',
                prevEffect : 'fade',
                nextEffect : 'fade',

                arrows : false,
                helpers : {
                    media : {},
                    buttons : {}
                }
            });

        /*
         *  Open manually
         */

        $("#fancybox-manual-a").click(function() {
            $.fancybox.open('1_b.jpg');
        });

        $("#fancybox-manual-b").click(function() {
            $.fancybox.open({
                href : 'iframe.html',
                type : 'iframe',
                padding : 5
            });
        });

        $("#fancybox-manual-c").click(function() {
            $.fancybox.open([
                {
                    href : '1_b.jpg',
                    title : 'My title'
                }, {
                    href : '2_b.jpg',
                    title : '2nd title'
                }, {
                    href : '3_b.jpg'
                }
            ], {
                helpers : {
                    thumbs : {
                        width: 75,
                        height: 50
                    }
                }
            });
        });


    });

$(document).ready(function() {
 $(".fancybox").fancybox({
  openEffect: 'fade',
  prevEffect: 'fade',
  nextEffect: 'fade',
 });
});


    $(document).ready(function() {
$(".various").fancybox({
    fitToView   : true,
    width       : '70%',
    height      : '70%',
    autoSize    : false,
    closeClick  : false,
    openEffect  : 'none',
    closeEffect : 'none'
});
});

1 个答案:

答案 0 :(得分:0)

试试这个html

<a class="fancybox" data-fancybox-group="gallery" href="img/dog1.png" title="Caption will go here."><i class="icon-camera"></i>“The pictures</a>
<div style="display: none;">
    <a class="fancybox" data-fancybox-group="gallery" href="img/dog2.png" title="Caption will go here."></a>
    <a class="fancybox" data-fancybox-group="gallery" href="img/dog3.png" title="Caption will go here."></a>
</div>

...所以你实际上并没有隐藏图像而是父容器。

另一方面,您似乎没有使用所有不同的fancybox自定义脚本,所以我宁愿全部删除它们,只需使用此代码:

$(".fancybox").fancybox({
    // set here all the option you really need/want
    modal: true,
    helpers : {
      buttons: { 
          position: "top" // or "bottom"
      }
    }
});