Skip to content

pqina/flip

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Flip Countdown

Flip is an advanced and beautiful flip counter plugin. Easy to use and highly flexible, you can set up a custom counter on your website in minutes. Display visitor counts, countdown to a special date or celebrate progress. Whatever you’re planning, the options are endless.

Learn more about Flip / Learn more about Tick the engine that powers Flip


Buy me a Coffee / Dev updates on Twitter


Quick Start

If you just want to get on your way, copy the example directory and use it a starting point.

This example will automatically initialise Flip counters on the website and can be used with the presets on the demo site.

Or you can use one of the javascript framework codesandboxes below:

Setup

For the code snippets below we'll assume it's the flip.min.css and flip.min.js version and the folder we are uploading to is named flip.

Copy the following HTML snippet in the <head> of your web page.

<link href="/flip/flip.min.css" rel="stylesheet">

Then copy the following snippet and place it just before the closing </body> tag.

<script src="/flip/flip.min.js"></script>

Make sure the paths in the above code snippets match the location of the CSS and JS files.

You can now copy past the presets to your website and everything should function correctly.

You can also load the files from a CDN like unpkg using the links below:

<link href="https://unpkg.com/@pqina/flip/dist/flip.min.css" rel="stylesheet">
<script src="https://unpkg.com/@pqina/flip/dist/flip.min.js"></script>

Install from NPM

npm i @pqina/flip --save
import Tick from '@pqina/flip';

console.log(Tick);
// logs {supported: true, options: {…}, helper: {…}, data: {…}, DOM: {…}, …}

Docs

Information on how to customize Tick and use the Tick API can be found on the product website.

Accessibility

For better compatibility with screenreaders we need to hide the flip view using aria-hidden, this prevents the contents from being read out load. We can then use an aria-label attribute to provide a formatted label instead.

<div class="tick"
     data-value="1234"
     data-did-init="setupFlip">
  
    <!-- Hide visual content from screenreaders with `aria-hidden` -->
    <div data-repeat="true" aria-hidden="true">
        <span data-view="flip"></span>
    </div>
  
</div>

<script>
function setupFlip(tick) {

    Tick.helper.interval(function() {

        tick.value++;

        // Set `aria-label` attribute which screenreaders will read instead of HTML content
        tick.root.setAttribute('aria-label', tick.value);

    }, 1000);

}
</script>

License

MIT License, Enjoy!