0.1.0 • Published 9 years ago

jquery.transition v0.1.0

Weekly downloads
1
License
-
Repository
github
Last release
9 years ago

jquery.transition

A custom jQuery event that executes user-defined callback functions during an elements CSS transition.

Demo

See the demo here.


Dependencies

jquery.transition is dependent on jQuery version 1.8.4+.


Installation

Manual installation

Reference the file in your project:

<script src="js/jquery.transition.js"></script>
Using Bower
bower intsall jquery.transition
Using NPM
npm install jquery.transition --save-dev

Options & Usage

Just as a heads up: There is also working example of how to use the plugin in the repo.

Options:

All options are set as the second parameter of the jQuery event-binding method .on(...). For more info on this method, read the documentation on jQuery'r website. As an example:

$(selector).on('transition', {

  // options.start - This method is executed when the element
  // begins transitioning, and is only executed once per
  // transition property
  // ***
  // Parameters:
  //   property[string] - the value of the CSS property that began to transition
  start : function( property ) {
    // ...
  },

  // options.progress - This method after the element has
  // begun transitioning, and fires every 15ms until
  // the transition is complete.
  // ***
  // Parameters:
  //   property[string] - the value of the CSS property that is currently transitioning
  //   duration[integer] - the amount of time, in milliseconds, since the transition started
  //   value[float|integer|string] - the current value of the CSS property currently transitioning
  progress : function( property, duration, value ) {
    // ...
  },

  // options.complete - This method is executed once
  // the transition has completed.
  // ***
  // Parameters:
  //   property[string] - the value of the CSS property that finished transitioning
  complete : function( property ) {
    // ...
  }
},

  // Event Callback - This callback function is
  // executed after all initial CSS transition-property
  // values have completed their transition phase. If
  // the event is unbound prior to that moment, this
  // callback will never be executed.
  // ***
  // Parameters:
  //   event[jQuery Event] - The default jQuery Event created during during initial setup
  function( evt ) {
    // ...
});
Basic usage:

Add the transition property values in your CSS:

.box {
  height: 250px;
  width: 250px;
  opacity: 0.75;
  transition: 2000ms ease-in-out width 0ms, 1000ms ease-out opacity 250ms;
}
.box.active {
  width: 500px;
  opacity: 0;
}

Bind the event:

$('.box').on('transition', {
  start : function( property ) {
    console.log( 'started', property );
  },
  progress : function( property, duration, value ) {
    console.log( 'progress', property, duration, value );
  },
  complete : function( property ) {
    console.log( 'ended', property );
  }
}, function( evt ) {
  console.log('Event callback function:', evt);
});

Do something to initialize the transition:

setTimeout(function() {
  $('.box').addClass( 'active' );
}, 1500);

License

This plugin is licensed under the MIT license. A copy of the license is included in this package.