事件
我们将会分发一些事件,便于您轻松响应展示中的更改。Reveal.on() 用于添加事件监听器,Reveal.off() 用于移除它们。
Reveal.on('eventname', callbackFunction);准备就绪
Reveal.js 加载所有非异步依赖并准备好接受 API 调用时,将触发 ready 事件。要检查 Reveal.js 是否已经“准备就绪”,可以调用 Reveal.isReady()。
Reveal.on('ready', (event) => {
// event.currentSlide, event.indexh, event.indexv
});我们还向 .reveal 元素添加了一个 .ready 类,以便您使用 CSS 将其关联起来。
Reveal.initialize 方法还会返回一个 Promise,当展示准备就绪时,它将解决。以下代码与为 ready 事件添加监听器是同义的
Reveal.initialize().then(() => {
// reveal.js is ready
});幻灯片更改
每次幻灯片变化时都会触发slidechanged事件。事件对象保存当前幻灯片的索引值以及对之前和当前幻灯片 HTML 元素的引用。
某些函数库(例如 MathJax(参见#226))可能会对幻灯片的转换和显示状态感到困惑。通常,可以通过从此回调函数调用其更新或呈现函数来修复此问题。
Reveal.on('slidechanged', (event) => {
// event.previousSlide, event.currentSlide, event.indexh, event.indexv
});幻灯片过渡结束
slidechanged事件在幻灯片发生更改后会立即触发。如果您想在幻灯片过渡完成后并完全可见时调用事件侦听器,可以使用slidetransitionend事件。slidetransitionend事件包含与slidechanged相同的数据。
Reveal.on('slidetransitionend', (event) => {
console.log(event.currentSlide);
});调整大小
当 reveal.js 更改演示文稿的比例时,会触发resize事件。
Reveal.on('resize', (event) => {
// event.scale, event.oldScale, event.size
});