Thanks for the update. Sadly it only seems to scroll in one direction mainly, it will randomly go in the opposite direction when scrolling up.
I made a tweak to the line below to make sure the currentDirection was being used to make sure the columns went the opposite direction when scrolling up/down:
// Changed this line
currentScale = (i % 2 ? 1 : -1) * -1;
// To this line
currentScale = (i % 2 ? (currentDirection * -1) : currentDirection);
Thanks a lot for your help @Rodrigo.