Events
Magnet emits events on certain processes completion. This events can be emitted by the container or items.
Container
arrangeComplete
Triggers after all items have ended hide, reveal and layout transitions.
//jQuery
$('.grid').on('arrangeComplete', function() {
console.log('Arrange is completed');
});
//vanilla JS
var elem = document.querySelector('.grid');
elem.addEventListener('arrangeComplete', function(){
console.log('Arrange is completed');
});
layoutComplete
Triggers after all items have ended layout transition.
//jQuery
$('.grid').on('layoutComplete', function() {
console.log('Layout is completed');
});
//vanilla JS
var elem = document.querySelector('.grid');
elem.addEventListener('layoutComplete', function(){
console.log('Layout is completed');
});
revealComplete
Triggers after all items have ended reveal transition.
//jQuery
$('.grid').on('revealComplete', function() {
console.log('Reveal is completed');
});
//vanilla JS
var elem = document.querySelector('.grid');
elem.addEventListener('revealComplete', function(){
console.log('Reveal is completed');
});
hideComplete
Triggers after all items have ended reveal transition.
//jQuery
$('.grid').on('hideComplete', function() {
console.log('Hide is completed');
});
//vanilla JS
var elem = document.querySelector('.grid');
elem.addEventListener('hideComplete', function(){
console.log('Hide is completed');
});
removeComplete
Triggers after all items have ended remove transition.
//jQuery
$('.grid').on('removeComplete', function() {
console.log('Remove is completed');
});
//vanilla JS
var elem = document.querySelector('.grid');
elem.addEventListener('removeComplete', function(){
console.log('Remove is completed');
});
Items
layout
Triggers after an item has been positioned on the layout and ended transition.
//jQuery
$('.grid-item').on('layout', function(event){
console.log('Positioned ' + event.target);
});
//vanilla JS
var elems = document.querySelectorAll('.grid-item');
elems.forEach(function(elem){
elem.addEventListener('layout', function(){
console.log('Positioned ' + event.currentTarget);
});
});
reveal
Triggers after an item has been revealed in the layout and ended transition.
//jQuery
$('.grid-item').on('reveal', function(event){
console.log('Revealed ' + event.target);
});
//vanilla JS
var elems = document.querySelectorAll('.grid-item');
elems.forEach(function(elem){
elem.addEventListener('layout', function(){
console.log('Revealed ' + event.currentTarget);
});
});
hide
Triggers after an item has been hidden in the layout and ended transition.
//jQuery
$('.grid-item').on('hide', function(event){
console.log('Hidden ' + event.target);
});
//vanilla JS
var elems = document.querySelectorAll('.grid-item');
elems.forEach(function(elem){
elem.addEventListener('layout', function(){
console.log('Hidden ' + event.currentTarget);
});
});
remove
Triggers after an item has been removed from the layout and ended transition.
//jQuery
$('.grid-item').on('remove', function(event){
console.log('Removed ' + event.target);
});
//vanilla JS
var elems = document.querySelectorAll('.grid-item');
elems.forEach(function(elem){
elem.addEventListener('layout', function(){
console.log('Removed ' + event.currentTarget);
});
});
transition
Triggers after an item has ended a transition.
//jQuery
$('.grid-item').on('transition', function(event){
console.log('Transition ended ' + event.target);
});
//vanilla JS
var elems = document.querySelectorAll('.grid-item');
elems.forEach(function(elem){
elem.addEventListener('layout', function(){
console.log('Transition ended ' + event.currentTarget);
});
});