0

我在 FancyBox 2 中使用标题作为标题。我从这里获取了代码:http: //jsfiddle.net/vkDcG/

$(".fancybox")  
.attr('rel', 'gallery')  
.fancybox({  
beforeLoad: function() {  
this.title = $(this.element).attr('caption');  
}  
});

它工作正常。我想将图像过渡从弹性更改为淡出。
取自此处的代码:Fancybox 2 标题内的链接

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

当我添加淡入淡出过渡时,不使用标题文本,但它默认为标题文本(我将其用于其他内容)。有点难为为什么这不起作用。任何帮助将不胜感激。

这是我的代码:

$(".fancybox")  
.fancybox({  
openEffect  : 'fade',  
closeEffect : 'fade',  
nextEffect  : 'fade',  
prevEffect  : 'fade',  
helpers : {  
title : null  
overlay : {  
css : {  
'background-color' : '#4a4a4a'  
}  
}  
},  
beforeLoad: function() {  
this.title = $(this.element).attr('caption');  
}  
});​  
4

1 回答 1

0

如果添加新的 API 选项,则需要用逗号分隔它们中的每一个,但最后一个。

您添加title : null但忘记添加尾随逗号,以便触发 js 错误,其余选项将不起作用。

实际上,您根本不需要该选项,因为您正在使用回调title中的属性覆盖内容caption,因此此代码可以正常工作:

$(".fancybox")
    .attr('rel', 'gallery')
    .fancybox({
    openEffect: 'fade',
    closeEffect: 'fade',
    nextEffect: 'fade',
    prevEffect: 'fade',
    helpers: {
        // title: null // you don't need this one
        overlay: {
            css: {
                'background-color': '#4a4a4a'
            }
        }
    },
    beforeLoad: function () {
        this.title = $(this.element).attr('caption');
    }
});

检查JSFIDDLE

于 2013-06-04T17:34:46.373 回答