我使用“HTML5Rocks!”中的幻灯片模板制作了幻灯片,并对其进行了修改以包含一些交互式谷歌图表。
不幸的是,最初 HTML5 幻灯片模板隐藏了除当前、两张后面的幻灯片和两张前面的幻灯片之外的所有幻灯片(这是幻灯片的 css 默认值:).slides > article { display : none; }
。我的交互式数字是幻灯片(即article
s),其中包含iframe
s 和 google 图表。不幸的是,首次渲染display:none
的幻灯片在 google 图表中存在某种边界框问题:当幻灯片最终取消隐藏时,图表被压缩并且没有交互效果。
我可以通过使用display:block
. 然后,当您更改幻灯片时,我会主动隐藏非当前和非相邻的幻灯片。现在所有图表都正确渲染了,但是在演示开始时,它显示了最后一张幻灯片(因为所有图表都已绘制并且最后绘制!)。
我想通过添加一个事件来完善这一点,在所有内容加载后(即,在一个中的 CPU 密集型 AJAX 调用iframe
完成运行),非当前和非相邻幻灯片被隐藏。
为此,我需要在所有内容加载完毕且浏览器准备就绪后触发回调事件(包括iframe
s 内的 AJAX 调用):
我尝试了以下方法,但在我的 s 中的 AJAX 回调完成之前触发得太早iframe
了:
jQuery(window).load( function() { /* some code to hide the non-current and non-neighboring slides */ } );
因此,非当前和非相邻的幻灯片在绘制图表之前被隐藏,当这些图表幻灯片不隐藏时,它们会被扭曲和破坏。我不相信我可以通过 AJAX 调用触发我的事件,因为我想要完成多个(来自多个幻灯片)。
这就是框架故事。这就是我想知道的:在加载所有内容并且浏览器完全准备好后是否有事件触发?
非常感谢你的帮助。