0

你好。我需要在 highslide 弹出窗口的右上角添加关闭按钮。我添加到配置:

hs.registerOverlay({
    html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"></div>',
    position: 'top right',
    useOnHtml: true,
    fade: 2 // fading the semi-transparent overlay looks bad in IE
});

但在某些页面上,弹出窗口的右侧面板上有标题文本,并在照片上方编号。这个按钮相对于照片定位,而不是整个窗口。也许可以将叠加层添加到 DOM 中更高的一个元素(highslide-wrapper 类)?这可以解决我的问题。

offsetX 和 offsetY 仅适用于右侧面板上有标题的页面。

谢谢

4

1 回答 1

0

我们发现,添加一个尊重具有不同高度的 highslide-heading、rightpanel 标题等的图层的最简单方法是使用 jQuery:创建一个 div,对其设置样式并将其附加到 highslide-wrapper。

将此添加到您的 Highslide 设置:

hs.Expander.prototype.onAfterExpand = function (sender) {
    $('<div onclick="return hs.close(this)" title="Close"></div>').css({
        position: 'absolute',
        top: '-15px',
        right: '-15px',
        height: '30px',
        width: '30px',
        cursor: 'pointer',
        background: 'url(/highslide/graphics/close.png)', // adjust the path if necessary
        zIndex: 20
    }).appendTo(sender.wrapper);
};

注意:此解决方案需要 highslide-full.js 和 jQuery。

于 2013-03-24T08:53:32.877 回答