Skip to content

JoeeGrigg/barba-transitions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecation Notice

This project is now deprecated.

Recently Barba v2 was released which has all of the features I added to v1, plus many more, and is maintained.

This project will no longer (not that I had been anyway) be maintained.

Barba can be found here






Barba Transitions

This is an extension to Barba.

It adds a custom transition which makes it really easy to make elements transition on and off the page.

Dependencies

  • Barba

Installation

You should install this package via NPM.

npm install barba-transitions

Getting started

Initialise Barba as you normally would and the transitions will automatically kick in.

Then, define your css transitions in your stylesheet and pass that name as the value of the data-transition attribute on each element that you wish to animate.

Example

HTML

<!DOCTYPE HTML>
<html lang="en">
<head>
    <title>Index</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
  <header>
    <h1>Home</h1>
  </header>
  <div id="barba-wrapper">
    <div class="barba-container">
      <section class="all-posts" data-transition="fadeIn">
        This is the main page content
      </section>
    </div>
  </div>

  <script src="barba.min.js" type="text/javascript"></script>
  <script src="barba.transitions.min.js" type="text/javascript"></script>
  <script src="main.js" type="text/javascript"></script>
</body>
</html>

CSS

@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

JS

window.onload = function() {
  Barba.Pjax.start();
}

Setting a custom transition time

To change the transition length it couldn't be simpler.

Define Barba.transitionLength in miliseconds in your JS, after Barba is initialised and all transitions will use the newly defined time.

Example

Barba.transitionLength = 1000;

This would set the transition length to be 1 second.