知道为什么关闭按钮没有出现在我的简报弹出框中?
非常感谢
<script type="text/javascript">
function openFancybox() {
setTimeout(function () {
$.fancybox('#newsletterpopup', {
modal: true, // this prevents fancybox to close unless close unless ".non-merci" is clicked
showCloseButton: true,
helpers: {
overlay: {
css: {
'background': 'rgba(58, 42, 45, 0.3)'
}
}
},
afterShow: function () {
// enables a way to close fancybox
$(".non-merci").on("click", function () {
$.fancybox.close()
});
}
});
}, 1000);
};
$(document).ready(function () {
var visited = $.cookie('visited');
if (visited == 'yes') {
return false;
} else {
openFancybox();
}
$.cookie('visited', 'yes', {
expires: 0.0001
});
});
</script>
答案 0 :(得分:1)
设置
时modal: true
关闭按钮将从不显示,无论closeBtn
设置为true
。
您要么删除modal
选项(默认为false
),要么将其设置为false
注意 showCloseButton
是fancybox v1.3.x的一个选项。
答案 1 :(得分:0)
尝试使用:
closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>'
代替showCloseButton
。
尝试使用jQuery 1.8或更低版本而不是1.10
答案 2 :(得分:0)
这取决于您使用的工具。我使用gulp并且我注意到文件(fancybox_sprite.png)在那里,但路径可能是错误的,特别是如果你使用gulp为你编译。有时它们可能会被放错地方。将图像托管在云端或更正文件的路径。
希望这会有所帮助。此外,如果您想确认您确实拥有正确的配置,可以使用检查器检查是否有.fancybox-close
类。如果它在那里,那么这意味着你的路径没有指向png文件。
答案 3 :(得分:0)
基于Fancybox的最新模式示例,您可以将关闭按钮与modal: true
一起添加到DOM。
$('#newsletterpopup').fancybox({
modal: true,
helpers: {
overlay: {
css: {
'background': 'rgba(58, 42, 45, 0.3)'
}
}
},
});
#trueModal{
display: none
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js"></script>
<a data-fancybox="" data-src="#trueModal" data-modal="true" href="javascript:;">Open modal</a>
<div id="trueModal">
<div>Your content</div>
<button data-fancybox-close>Close modal</button>
</div>