0

我知道您可以将信息传递给 fancybox 函数,以便自定义某些设置,其中之一是按钮助手的顶部或底部。我也知道您可以通过更改 CSS 文件来更改按钮的确切位置。但是,有没有办法让按钮自动调整到图片的高度,使其始终位于图片的正上方。

4

2 回答 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 回答