Advertisement
Guest User

JS Photosets

a guest
Mar 27th, 2012
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function($) {
  2.     $.fn.photoSets = function() {
  3.         return this.each(function() {
  4.             // Holding UL
  5.             var container = $(this);
  6.             // Collect Array of Rows > Splits
  7.             var gridArray = {JSPhotosetLayout};
  8.             var rowOneSplit = gridArray[0];
  9.             var rowTwoSplit = gridArray[1];
  10.             var rowThreeSplit = gridArray[2];
  11.             var rowFourSplit = gridArray[3];
  12.             var rowOne = parseInt(gridArray[0]);
  13.             var rowTwo = parseInt(gridArray[0]) + parseInt(gridArray[1]);
  14.             var rowThree = parseInt(gridArray[0]) + parseInt(gridArray[1]) + parseInt(gridArray[2]);
  15.             var rowFour = parseInt(gridArray[0]) + parseInt(gridArray[1])+ parseInt(gridArray[2]) + parseInt(gridArray[3]);
  16.             // Apply Rows > Splits
  17.             container.find('li').slice(0,rowOne).addClass(''+ rowOne +' rowOne').last().addClass('last');
  18.             container.find('li').slice(rowOne,rowTwo).addClass(''+ rowTwoSplit +' rowTwo').last().addClass('last');
  19.             container.find('li').slice(rowTwo,rowThree).addClass(''+ rowThreeSplit +' rowThree').last().addClass('last');
  20.             container.find('li').slice(rowThree,rowFour).addClass(''+ rowFourSplit +' rowFour').last().addClass('last');
  21.             // Find smallest img and set heights of others in the same row
  22.             function equalHeight(rowClass) {
  23.                 var smallest = 100000;
  24.                 rowClass.each(function() {
  25.                     var thisHeight = $(this).find('img').outerHeight();
  26.                     if(thisHeight < smallest) {
  27.                     smallest = thisHeight;
  28.                     }
  29.                 });
  30.                 rowClass.height(smallest);
  31.             }
  32.             // Call above on each row
  33.             equalHeight($(".rowOne"));
  34.             equalHeight($(".rowTwo"));
  35.             equalHeight($(".rowThree"));
  36.             equalHeight($(".rowFour"));
  37.             // Call again for window resize
  38.             $(window).resize(function() {
  39.                 equalHeight($(".rowOne"));
  40.                 equalHeight($(".rowTwo"));
  41.                 equalHeight($(".rowThree"));
  42.                 equalHeight($(".rowFour"));
  43.             });
  44.             // Set Opacity Of Grid
  45.             container.css('opacity','1');
  46.             });
  47.         };
  48.     })(jQuery);
  49.     $(document).ready(function() {
  50.         $('.photoset-grid').photoSets();
  51.     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement