beerslider

A vanilla JS keyboard accessible plugin for any before-after comparison

  • Owner: pehaa/beerslider
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Travis (.org)
Codecov
Github file size

BeerSlider

A vanilla JavaScript accessible before-after slider

Demo

You can find the demo here.

How?

Installation

The dist folder contains the ready for production minified files: BeerSlider.js and BeerSlider.css

<head>
  ...
  <link rel="stylesheet" href="dist/BeerSlider.css">
</head>
<body>
  
  <!-- Bottom of body -->
  <script src="dist/BeerSlider.js"></script>
  <script>
    new BeerSlider(document.getElementById('slider'));
  </script>
</body>

You can also use the cdn solution

<head>
  ...
  <link rel="stylesheet" href="https://unpkg.com/beerslider/dist/BeerSlider.css">
</head>
<body>
  
  <!-- Bottom of body -->
  <script src="https://unpkg.com/beerslider/dist/BeerSlider.js"></script>
  <script>
    new BeerSlider(document.getElementById('slider'));
  </script>
</body>

npm:

npm install beerslider

Usage:

The basic markup is:

<div id="slider" class="beer-slider" data-beer-label="before">
  <img src="../demo-assets/images/dogs-before.jpg" alt="">
  <div class="beer-reveal" data-beer-label="after">
    <img src="../demo-assets/images/dogs-after.jpg" alt="">
  </div>
</div>

The data-beer-labels are optional, you can leave them empty or do not add them at all.

To activate the slider add the following:

new BeerSlider(document.getElementById('slider'));

Customization

You can initiate BeerSlider with some options, the available options are:

{
  // start value
  start: '50',
  // prefix 
  prefix: 'beer'
}

Use with jQuery or Zepto

If you use jQuery or Zepto in your project and have a few before-after sliders on your page, you can do something like that:

<script>
  $.fn.BeerSlider = function ( options ) {
    options = options, {};
    return this.each(function() {
      new BeerSlider(this, options);
    });
  };
  $('.beer-slider').BeerSlider({start: 25});
</script>

or:

<script>
  $.fn.BeerSlider = function ( options ) {
    options = options, {};
    return this.each(function() {
      new BeerSlider(this, options);
    });
  };
  $('.beer-slider').each( (function( index, el ) {
    $(el).BeerSlider({start: $(el).data('beer-start')})
  });
</script>

with:

<div id="beer-slider" class="beer-slider" data-beer-label="before" data-beer-start="25">
  <img src="man-hold-beer.jpg" alt="Original - Man holding beer">
  <div class="beer-reveal" data-beer-label="after">
    <img src="man-hold-beer-after.jpg" alt="Processed - Man holding beer">
  </div>
</div>
<div id="beer-slider2" class="beer-slider" data-beer-label="before" data-beer-start="75">
  <img src="man-hold-beer.jpg" alt="Original - Man holding beer">
  <div class="beer-reveal" data-beer-label="after">
    <img src="man-hold-beer-after.jpg" alt="Processed - Man holding beer">
  </div>
</div>

A Codepen demo using jQuery is available here,
and Zepto here.

Main metrics

Overview
Name With Ownerpehaa/beerslider
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2018-09-08 10:12:16
Pushed At2024-05-15 10:09:07
Last Commit At2018-09-18 11:35:45
Release Count3
Last Release Namev1.0.3 (Posted on 2018-09-10 16:06:09)
First Release Namev1.0.1 (Posted on 2018-09-08 19:44:53)
用户参与
Stargazers Count317
Watchers Count11
Fork Count54
Commits Count16
Has Issues Enabled
Issues Count19
Issue Open Count16
Pull Requests Count0
Pull Requests Open Count2
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private