我正在使用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'
});
});
答案 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"
}
}
});