我在链接上触发了fancybox,该链接从隐藏的div加载内容。
如果我关闭了fancybox并再次点击该链接,它会第二次加载空白
这是我的代码:
$.fancybox({
content: $target
});
有什么想法吗?
答案 0 :(得分:0)
我对其他人的灯箱,与你的灯箱类似的问题,以及其他没有显示内容等问题感到烦恼。
这个快速的代码创建与fancybox插件(本质上)相同,这是我一直使用的,它的跨浏览器兼容,易于调试和更改,当您的内容不适合或出来搞砸或任何东西。
<script type="text/javascript">
jQuery(document).ready(function($){
$('a.clickme').click(function(){
// this creates an overlay
var theOverlay = $('<table class="overlayTable"><tr><td style="vertical-align:middle;text-align:center;padding:0"></td></tr></table>')
.click(function(){ $(document).unbind('keyup'); $(this).remove(); });
// this creates the white "inner" box
$('<div></div>')
.attr('id','insideContent')
.css({
'display':'inline-block',
'background':'#fff',
'padding':'20px'
})
.append('<p>Some content here... you can load anything you want - or copy it from another div if you want...</p>')
.appendTo($('body'))
.wrap(theOverlay)
.click(function(e){ e.stopPropagation(); });
$(document).bind('keyup', function(e){
// this binds the esc key to close the overlay
if(e.keyCode==27) { $(document).unbind('keyup'); $('table.overlayTable').remove(); }
});
});
});
</script>
<style>
.overlayTable {
background: url("url/to/transparent/png/for/overlay/background.png") repeat scroll 0 0 transparent;
border-collapse: collapse;
border-spacing: 0;
height: 100%; width: 100%; z-index: 999;
left: 0; position: fixed; top: 0;
}
</style>
随意将其变成插件或类似插件。当您只是填充内容div时,您可以在其中放置任何HTML或任何内容。
您还可以添加自己的触摸,例如关闭按钮(只需调用$('table.overlayTable').remove();
)。