execute function when certain slide appear in reveal.js

前端 未结 2 1730
旧时难觅i
旧时难觅i 2021-02-04 08:08

I create a presentation with this javascript framework http://lab.hakim.se/reveal-js/#/ and when certain slide is appearing I want to execute function stats(), which display som

相关标签:
2条回答
  • 2021-02-04 08:18

    This can be achieved by using reveal.js states (https://github.com/hakimel/reveal.js#states).

    1) Add a unique state to the section that should trigger your method.

    <section data-state="stats">
        <h2>This will trigger a state event with the name "stats".</h2>
    </section>
    

    2) Add a listener to your custom state using the reveal.js API.

    Reveal.addEventListener( 'stats', function() {
        // Called each time the slide with the "stats" state is made visible
    } );
    

    Complete working example: https://gist.github.com/hakimel/cea4305a33713d4a5a7e

    0 讨论(0)
  • 2021-02-04 08:23

    To answer Philippe Leefsma's question: you can use bind() to pass arguments, like so:

    drawDiagramOnSlide.bind(
        null,
        slideName,
        slideEl.querySelector('.diagram')
    ));
    

    Assuming drawDiagramOnSlide looks like this:

    function drawDiagramOnSlide(_slideName, _diagramEl, _event) {...}
    

    The bind call will create a function that calls drawDiagramOnSlide with the correct slide name and element (in my case, a div with class diagram inside the slide ).

    0 讨论(0)
提交回复
热议问题