如果我关闭 Fancybox,我只想重新加载一个 div 而不是整个页面......我已经阅读了很多关于同样问题的帖子,但任何人都有一个可行的解决方案。
有任何想法吗 ?
谢谢 !
在onClosed
事件http://fancybox.net/api你可以重新加载 div
$("#div").load("/url/to/reload");
或者
$("#div").html("refreshed content");
在指定 Fancybox 显示参数后使用 Fancybox on afterClose 函数。
你的分区:
<div id="tree-image" class="tree-list-image"><a id="inline" href="PATH TO
YOUR
IMAGE" data-caption="YOUR IMAGE TITLE"><img src="PATH TO YOUR IMAGE"
alt="THIS IS AN IMAGE"/></a></div>
Fancybox 脚本函数:
<script type="text/javascript">
$(document).ready(function() {
/* This is basic - uses default settings */
$("a#inline").fancybox({
'opacity' : 0.4,
'autoSize' : true,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 100,
'speedOut' : 200,
'overlayShow' : false,
'hideOnContentClick': true,
afterClose : function( instance, current ) {
$('#tree-image').load(document.URL + ' #tree-image');
}
});
});
</script>
你也可以使用 -->
window.location.reload(true);
在 afterClose 函数中。
当我说我不明白为什么任何一个或选项总是有效时,我是诚实的。我总是先尝试一个然后另一个,在大多数情况下我很幸运。我想这与您使用的 jQuery 版本有关。
Sometimes when I use fancybox to open a dialog, I use the same function to redirect to another page after fancybox is closed.
You can see a demo of the above on https://treeco.co.za/our-trees/