我想使用html而不是fancybox关闭按钮的图像。
以下是我认为应该有效的方法:
$('.fancybox-media').fancybox({
afterLoad : function() {
$('div.fancybox-close').html('X');
}
});
只关注这里的关闭按钮。任何想法为什么这不起作用?
答案 0 :(得分:6)
对于fancybox v2.x,您可以使用选项tpl
来设置您想要的任何html
$(".fancybox").fancybox({
tpl: {
closeBtn: '<div title="Close" id="myCloseID ">[CLOSE]</div>'
}
});
请注意,在此示例中,我将自己的选择器id="myCloseID "
设置为close
容器(closeBtn
),因此我可以将自己的css样式添加到新的html中,如:
#myCloseID {
position: absolute; /* this is important */
z-index: 8040; /* this is important */
top: -18px; /* or whatever needed */
right: -10px;
width: 50px; /* or whatever needed */
height: 36px;
cursor: pointer;
color : #ff0034; /* or whatever needed */
/* etc. */
}
最后,您可能更喜欢使用tpl
的默认closeBtn
和您自己的HTML
$(".fancybox").fancybox({
tpl: {
closeBtn: '<div title="Close" class="fancybox-item fancybox-close">[my closing html]</div>'
}
});
...只需通过css删除背景图片,如
.fancybox-close {
background-image: none; /* prevents the use of the fancybox sprite */
color : #ff0034; /* or whatever needed, etc. */
/* etc. */
}
答案 1 :(得分:1)
它应该有效,但您还需要将background
设置为none
。
试试这个:
$('div.fancybox-close').html('X').css({background:'none',color:'white'});
答案 2 :(得分:0)
请试试这个
$('.fancybox-close').html('X').css({background:'none',color:'white'});