1
我使用此代碼加載fancybox彈出窗口,它隱藏另一個div在父頁面打開時,然後當它關閉我需要它再次顯示div,但它似乎無法找到要顯示的原始div。Fancybox顯示div關閉
<script type="text/javascript">
$(document).ready(function() {
$(".fancybox").fancybox();
$(".fancybox").click(function() {
$("#divtotoggle").hide();
$.fancybox.open({
'type': 'iframe',
padding : 0,
afterClose: function() {
//$("#divtotoggle",parent.document).show();
$("#divtotoggle").show();
}
});
});
});
</script>
我在afterClose
功能
得到了TypeError: document.getElementById(...) is null
我想這是因爲它的父,但$("#divtotoggle",parent.document).show();
也會失敗。
您是否檢查過,如果在關閉花式框後執行afterClose()之後的方法?你能嘗試警報嗎? – 2013-04-10 16:08:39
是的,我在afterClose中添加了一個警報,它顯示警報,但是它在加載彈出窗口之前顯示它看起來不正確,當然它應該在彈出窗口關閉後執行此操作。 – PeteTheGreek 2013-04-10 16:13:31
你可以看到fancybox的文檔瞭解更多詳情 http://fancybox.net/api。你正在使用'iframe',因此你應該使用'父'。$。fancybox.close();',我想,我還沒有測試! – 2013-04-10 16:23:06