hakimel/reveal.js

View on GitHub
examples/scroll.html

Summary

Maintainability
Test Coverage
<!doctype html>
<html lang="en">

    <head>
        <meta charset="utf-8">

        <title>reveal.js - Scroll View</title>

        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

        <link rel="stylesheet" href="../dist/reset.css">
        <link rel="stylesheet" href="../dist/reveal.css">
        <link rel="stylesheet" href="../dist/theme/black.css" id="theme">
    <link rel="stylesheet" href="../plugin/highlight/monokai.css">
    </head>

    <body>

        <div class="reveal">

            <div class="slides">

                <section><h1>Scroll View</h1></section>
                <section data-background="indigo">
                    <h2>Scroll triggered fragments</h2>
                    <ul>
                        <li class="fragment fade-left">Step one</li>
                        <li class="fragment fade-left">Step two</li>
                        <li class="fragment fade-left">Step three</li>
                    </ul>
                </section>
                <section data-background-color="#fff"><h2>Scrollbar inverts<br>based on slide bg</h2></section>
                <section data-auto-animate data-auto-animate-easing="cubic-bezier(0.770, 0.000, 0.175, 1.000)">
                    <h2>Auto-Animate</h2>
                    <p>Scroll triggered auto-animations 😍</p>
                    <div class="r-hstack justify-center">
                        <div data-id="box1" style="background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;"></div>
                        <div data-id="box2" style="background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;"></div>
                        <div data-id="box3" style="background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;"></div>
                    </div>
                </section>
                <section data-auto-animate data-auto-animate-easing="cubic-bezier(0.770, 0.000, 0.175, 1.000)">
                    <div class="r-hstack justify-center">
                        <div data-id="box1" data-auto-animate-delay="0" style="background: cyan; width: 150px; height: 100px; margin: 10px;"></div>
                        <div data-id="box2" data-auto-animate-delay="0.1" style="background: magenta; width: 150px; height: 100px; margin: 10px;"></div>
                        <div data-id="box3" data-auto-animate-delay="0.2" style="background: yellow; width: 150px; height: 100px; margin: 10px;"></div>
                    </div>
                    <h2 style="margin-top: 20px;">Auto-Animate</h2>
                </section>
                <section data-auto-animate data-auto-animate-easing="cubic-bezier(0.770, 0.000, 0.175, 1.000)">
                    <div class="r-stack">
                        <div data-id="box1" style="background: cyan; width: 300px; height: 300px; border-radius: 200px;"></div>
                        <div data-id="box2" style="background: magenta; width: 200px; height: 200px; border-radius: 200px;"></div>
                        <div data-id="box3" style="background: yellow; width: 100px; height: 100px; border-radius: 200px;"></div>
                    </div>
                    <h2 style="margin-top: 20px;">Auto-Animate</h2>
                </section>
                <section data-background-gradient="linear-gradient(to bottom, #283b95, #17b2c3)" id="gradient-bg">
                    <h2 data-id="code-title">Code highlights,<br />meet scroll triggers</h2>
                    <pre data-id="code-animation"><code class="hljs javascript" data-trim data-line-numbers="|4,8-11|17|22-24"><script type="text/template">
                        import React, { useState } from 'react';

                        function Example() {
                          const [count, setCount] = useState(0);

                          return (
                            <div>
                              <p>You clicked {count} times</p>
                              <button onClick={() => setCount(count + 1)}>
                                Click me
                              </button>
                            </div>
                          );
                        }

                        function SecondExample() {
                          const [count, setCount] = useState(0);

                          return (
                            <div>
                              <p>You clicked {count} times</p>
                              <button onClick={() => setCount(count + 1)}>
                                Click me
                              </button>
                            </div>
                          );
                        }
                    </script></code></pre>
                </section>
                <section class="stack">
          <section data-background="https://static.slid.es/reveal/image-placeholder.png" id="image-bg">
            <h2>Image Backgrounds</h2>
          </section>
          <section data-background-video-muted data-background-video="https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.mp4,https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.webm">
            <h2>Video background</h2>
          </section>
        </section>
                <section><h2>The end</h2></section>

            </div>

        </div>

        <script src="../dist/reveal.js"></script>
        <script src="../plugin/notes/notes.js"></script>
        <script src="../plugin/markdown/markdown.js"></script>
        <script src="../plugin/highlight/highlight.js"></script>
        <script>
            Reveal.initialize({
                view: 'scroll',
                hash: true,

                plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
            });
        </script>

    </body>
</html>