I am creating a splitscrolling website and it's working great. But i have one problem, when the user stops scrolling it fires a function called alignWhenIdle and what this does is align the columns so they become "one".
Now that is working nicely but i can't seem to target a specific part of the column that aligns. let's say when the number 2 column aligns ( see image ) i want to be able to fire an animation. I tried using a callback but that fires a function every time the columns are aligned.

This is my JS:
(function ($) {
var top = 0;
var contentHeight, contents, totalHeight;
var locked = false;
var timeout;
var align = function () {
    var pos = (top + $(window).scrollTop());
    var snapUp = 0 - (pos % contentHeight) < (contentHeight / 2);
    var multiplier = snapUp
        ? Math.ceil(pos / contentHeight)
        : Math.floor(pos / contentHeight);
    var newTop = contentHeight * multiplier;
    $('html, body').animate({ scrollTop: newTop + totalHeight }, 200);
    locked = false;
};
var reset = function () {
    contentHeight = $('.right').height();
    contents = $('.right > .content').length;
    totalHeight = contentHeight * (contents - 1);
    top = (0 - totalHeight);
};
var scrollRight = function () {
    $('.right').css('top', (top + $(window).scrollTop()) + 'px');
};
var alignWhenIdle = function (delay) {
    clearTimeout(timeout);
    timeout = setTimeout(align, delay);
};
$(document).on('ready', function () {
    reset();
    scrollRight();
});
$(window).on('scroll', function () {
    locked = true;
    scrollRight();
});
$(window).on('mouseup', function (e) {
    if (locked) {
        align();
    }
});
$(window).resize(function () {
    locked = true;
    reset();
    scrollRight();
    alignWhenIdle(300);
});
$(window).on('mousewheel', function (e) {
    alignWhenIdle(300);
});
$(window).on("keyup", function (e) {
     alignWhenIdle(300);
});
})(jQuery);  
Any help is much appreciated,
Cheers
 
     
     
    