Fancybox 2上标题内的链接

时间:2012-07-30 16:18:07

标签: jquery fancybox fancybox-2

我正在使用Fancybox 2来生成图库。除了文字之外,如果有必要,我还想在照片的标题中添加链接。

以下是我希望在字幕中包含链接的页面:http://catjohnson.co.uk/weddings

只需在其中添加一个html链接(遵循此答案:In Prettyphoto.js or Fancybox... How to add a link within the caption)即可破坏图库中的照片。

我已经尝试过这个http://jsfiddle.net/FWTZA/,虽然它有效,但我失去了造型。

我似乎无法将我的造型与js小提琴代码集成......这就是我现在正在做的事情,这是有效的:

$(document).ready(function() {
    $(".fancybox").fancybox({
        openEffect  : 'fade',
        closeEffect : 'fade',
        nextEffect  : 'fade',
        prevEffect  : 'fade',
            helpers : {
                title : {
                    type : 'inside'
                },
                overlay : {
                    css : {
                        'background-color' : '#eee'
                    }
                }
            }
    });
});

我希望这是有道理的!

谢谢你看看!

马丁:)

2 个答案:

答案 0 :(得分:3)

对于这个html

<a class="fancybox" data-title-id="title-1" href="http://fancyapps.com/fancybox/demo/1_b.jpg"><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>
<div id="title-1" class="hidden">
    This is 1st title. <a href="http://google.com">Some link</a>
</div>

<a class="fancybox" data-title-id="title-2" href="http://fancyapps.com/fancybox/demo/2_b.jpg"><img src="http://fancyapps.com/fancybox/demo/2_s.jpg" alt=""/></a>

<div id="title-2" class="hidden">
    This is <b>2nd title</b>. <a href="http://google.com">Some link</a>
</div>​

...设置帮助程序选项,不要忘记用逗号分隔每个选项:

$(".fancybox")
    .attr('rel', 'gallery')
    .fancybox({
        openEffect  : 'fade',
        closeEffect : 'fade',
        nextEffect  : 'fade',
        prevEffect  : 'fade',
        helpers : {
                title : {
                    type : 'inside'
                },
                overlay : {
                    css : {
                        'background-color' : '#eee'
                    }
                }
            },
        beforeLoad: function() {
            var el, id = $(this.element).data('title-id');
            if (id) {
                el = $('#' + id);

                if (el.length) {
                    this.title = el.html();
                }
            }
        }
    });​

工作示例:http://jsfiddle.net/FWTZA/372

答案 1 :(得分:0)

以下是我们如何做到这一点,将所有图片和网址从数据库中拉出来:

$(document).ready(function() {              
 $.fancybox(
  [ 
   { href : '/images/gallery_pic.php?id=229', title: 'Sample image one', rel : 'fancybox-thumb', class : 'fancybox-thumb'},
   { href : '/images/gallery_pic.php?id=167', title: ' Sample image two <a href="http://www.address" target="_blank">See site</a>', rel : 'fancybox-thumb', class : 'fancybox-thumb'}
  ],
  {
   type : 'image',
   autoScale : true,
   prevEffect : 'none',
   nextEffect : 'none',
   helpers : {
    title   : {
        type: 'inside',
        position: 'top'
    },

   } // closes helpers
  }               
 );
});