我正在尝试使用jQuery和Fancybox在我的页面中实现一个简单的东西,但我不能让我的代码工作。
我需要创建一个代码,当用户点击页面的任何部分时,Fancybox会打开一个模态。
目前,我的代码如下:
<script>
$(document).ready(function(){
$(document).click(function(e){
$.fancybox.open([{
href: '/welcome',
title: 'Welcome to Our Website!'
}],
{
width: 800,
height: 600
});
});
});
</script>
对我来说代码很好,但是当我进入这个页面并点击页面的很多部分时,没有任何反应。注意:控制台不显示任何错误消息,那么,我做错了什么?
答案 0 :(得分:1)
如果您想在页面加载后(或在页面本身与页面交互之前)用户点击页面中的任何位置时打开fancybox,请尝试
jQuery(document).ready(function ($) {
// add fancybox class to body on page load
$("body").addClass("fancyopen");
// bind click to body
$(".fancyopen").on("click", function () {
$.fancybox([{
href: "/yourpage.html",
title: "welcome to our website"
}], {
width: 300,
height: 200,
type: "iframe",
afterShow: function () {
$(".fancybox-wrap").on("click", function (event) {
event.stopPropagation(); // so you can click fancybox without calling it again
});
},
afterClose: function () {
$(".fancyopen").unbind("click").removeClass("fancyopen"); // now you can interact with the page
}
}); // fancybox
}); // on
}); // ready
参见 JSFIDDLE