我知道您可以将信息传递给 fancybox 函数,以便自定义某些设置,其中之一是按钮助手的顶部或底部。我也知道您可以通过更改 CSS 文件来更改按钮的确切位置。但是,有没有办法让按钮自动调整到图片的高度,使其始终位于图片的正上方。
问问题
1663 次
2 回答
1
我正在用一个额外的小帮手为我解决这个问题。
$('a.lightbox').fancybox({
closeBtn: false,
helpers: {
title: {type: 'float'},
buttons: {
skipSingle: true
},
custom: {}
}
});
$.fancybox.helpers.custom = {
defaults: {
position: 'top',
space: 0
},
onUpdate: function(opts, obj) {
this.setPosition(opts, obj);
},
afterShow: function(opts, obj) {
this.setPosition(opts, obj);
},
setPosition: function(opts, obj) {
// default position
var top = '20';
var offset = $('.fancybox-wrap').offset();
if (opts.position === 'top') {
top = (offset.top - ($('#fancybox-buttons').height() + opts.space));
} else if (opts.position === 'bottom') {
top = (offset.top + $('.fancybox-wrap').height() + opts.space);
}
$('#fancybox-buttons').css({top: top + 'px', position: 'absolute'});
}
};
可以设置控件的位置(顶部/底部)和空格。
因为我在移动设备上遇到了 position() 函数和 css 位置“固定”的问题,我正在使用 offset() 函数并将 css 位置设置为“绝对”
高温高压
克劳斯
于 2013-09-04T08:14:28.127 回答
0
您可以在#fancybox-left-ico、#fancybox-right-ico {top:50%;} 中编辑此“顶部”或将其更改为 {top:-20px;} 或您喜欢的 /js/fancybox-第 153 行的 1.3.4/jquery.fancybox-1.3.4.css 如下所示:
#fancybox-left-ico, #fancybox-right-ico {
cursor: pointer;
display: block;
height: 30px;
left: -9999px;
margin-top: -15px;
position: absolute;
top: 50%; /* this line is what you want to change */
width: 30px;
z-index: 1102;
}
编辑老花式
您可以在以下文件中进行编辑:http ://www.thomasantonini.webuda.com/fancybox/helpers/jquery.fancybox-buttons.css?v=1.0.5
首先在第 8 行:这将使用播放器选项来提升花式框按钮
#fancybox-buttons.top {
top: 0;
}
第 146 行的下一个更改:这会更改单击右(下一个)箭头
.fancybox-next span {
background-position: 0 -72px;
right: 0;
top: -15px;
}
并在第 141 行:更改上一个箭头
.fancybox-prev span {
background-position: 0 -36px;
left: 10px;
top: -15px;
}
随着这些箭头的变化,它们与关闭按钮的高度相同。这就是你要找的东西吗?
于 2013-05-26T15:03:48.773 回答