├── .gitignore ├── README.md ├── collageplus.jquery.json ├── css └── transitions.css ├── examples ├── example-multiple-instances.html ├── example-size-in-tag.html ├── example.html ├── example1.html ├── example2.html ├── example3.html ├── example4.html ├── example5.html └── example6.html ├── extras ├── jquery.collageCaption.js ├── jquery.collageCaption.min.js ├── jquery.removeWhitespace.js └── jquery.removeWhitespace.min.js ├── jquery.collagePlus.js ├── jquery.collagePlus.min.js └── support ├── .DS_Store ├── examples.css └── images ├── 0.2.0-preview.png ├── ed-lea-dribbble-1.png ├── ed-lea-dribbble-10.jpg ├── ed-lea-dribbble-2.png ├── ed-lea-dribbble-3.png ├── ed-lea-dribbble-4.png ├── ed-lea-dribbble-5.png ├── ed-lea-dribbble-6.png ├── ed-lea-dribbble-7.png ├── ed-lea-dribbble-8.png └── ed-lea-dribbble-9.png /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ##CollagePlus for jQuery 2 | 3 | Create an image gallery like Google+ Albums or Flickr profile pages. 4 | 5 | Project home page: http://collageplus.edlea.com/ 6 | 7 | 8 | Example 9 | ------- 10 |  11 | 12 | Try the [live example](http://collageplus.edlea.com/example.html "Live CollagePlus example") or play around with a [jsfiddle](http://jsfiddle.net/edlea/uZv3n/) version 13 | 14 | 15 | 16 | 17 | For detailed usage instructions please visit http://collageplus.edlea.com/ 18 | -------------------------------------------------------------------------------- /collageplus.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "collageplus", 3 | "title": "CollagePlus Gallery", 4 | "description": "An image grid gallery plugin for jQuery.", 5 | "keywords": [ 6 | "grid", 7 | "gallery", 8 | "photography", 9 | "album", 10 | "masonry" 11 | ], 12 | "version": "0.3.3", 13 | "author": { 14 | "name": "Ed Lea", 15 | "url": "http://edlea.com" 16 | }, 17 | "maintainers": [ 18 | { 19 | "name": "Ed Lea", 20 | "email": "edleadesign@gmail.com", 21 | "url": "http://edlea.com" 22 | } 23 | ], 24 | "licenses": [ 25 | { 26 | "type": "MIT", 27 | "url": "http://www.opensource.org/licenses/mit-license.php" 28 | } 29 | ], 30 | "bugs": "https://github.com/ed-lea/jquery-collagePlus/issues", 31 | "homepage": "http://collageplus.edlea.com/", 32 | "docs": "http://collageplus.edlea.com/", 33 | "download": "https://github.com/ed-lea/jquery-collagePlus/zipball/master", 34 | "dependencies": { 35 | "jquery": ">=1.7" 36 | } 37 | } -------------------------------------------------------------------------------- /css/transitions.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | A library of transitions for revealing the loaded images 4 | (Heavily) Inspired by http://tympanus.net/codrops/2013/07/02/loading-effects-for-grid-items-with-css-animations/ 5 | 6 | */ 7 | 8 | .effect-parent { 9 | -webkit-perspective: 1300px; 10 | -moz-perspective: 1300px; 11 | perspective: 1300px; 12 | } 13 | 14 | 15 | /* EFFECT 1 */ 16 | .effect-1 { 17 | -webkit-transform-style: preserve-3d; 18 | -moz-transform-style: preserve-3d; 19 | transform-style: preserve-3d; 20 | -webkit-transform-origin: 50% 50% -300px; 21 | -moz-transform-origin: 50% 50% -300px; 22 | transform-origin: 50% 50% -300px; 23 | -webkit-transform: rotateX(-180deg); 24 | -moz-transform: rotateX(-180deg); 25 | transform: rotateX(-180deg); 26 | -webkit-animation: fly ease-in-out forwards; 27 | -moz-animation: fly ease-in-out forwards; 28 | animation: fly ease-in-out forwards; 29 | } 30 | @-webkit-keyframes fly { 31 | 100% { -webkit-transform: rotateX(0deg); opacity: 1; -webkit-transform-origin:50% 50% 0; } 32 | } 33 | 34 | @-moz-keyframes fly { 35 | 100% { -moz-transform: rotateX(0deg); opacity: 1; -moz-transform-origin:50% 50% 0; } 36 | } 37 | 38 | @keyframes fly { 39 | 100% { transform: rotateX(0deg); opacity: 1; transform-origin:50% 50% 0; } 40 | } 41 | 42 | 43 | 44 | /* EFFECT 2 */ 45 | .effect-2 { 46 | -webkit-transform: translateY(200px); 47 | -moz-transform: translateY(200px); 48 | transform: translateY(200px); 49 | -webkit-animation: moveUp ease forwards; 50 | -moz-animation: moveUp ease forwards; 51 | animation: moveUp ease forwards; 52 | } 53 | 54 | @-webkit-keyframes moveUp { 55 | to { -webkit-transform: translateY(0); opacity: 1; } 56 | } 57 | 58 | @-moz-keyframes moveUp { 59 | to { -moz-transform: translateY(0); opacity: 1; } 60 | } 61 | 62 | @keyframes moveUp { 63 | to { transform: translateY(0); opacity: 1; } 64 | } 65 | 66 | 67 | /* EFFECT 3 */ 68 | .effect-3 { 69 | -webkit-transform-style: preserve-3d; 70 | -moz-transform-style: preserve-3d; 71 | transform-style: preserve-3d; 72 | -webkit-transform: translateZ(400px) translateY(300px) rotateX(-90deg); 73 | -moz-transform: translateZ(400px) translateY(300px) rotateX(-90deg); 74 | transform: translateZ(400px) translateY(300px) rotateX(-90deg); 75 | -webkit-animation: fallPerspective ease-in-out forwards; 76 | -moz-animation: fallPerspective ease-in-out forwards; 77 | animation: fallPerspective ease-in-out forwards; 78 | } 79 | 80 | @-webkit-keyframes fallPerspective { 81 | 100% { -webkit-transform: translateZ(0px) translateY(0px) rotateX(0deg); opacity: 1; } 82 | } 83 | 84 | @-moz-keyframes fallPerspective { 85 | 100% { -moz-transform: translateZ(0px) translateY(0px) rotateX(0deg); opacity: 1; } 86 | } 87 | 88 | @keyframes fallPerspective { 89 | 100% { transform: translateZ(0px) translateY(0px) rotateX(0deg); opacity: 1; } 90 | } 91 | 92 | 93 | /* EFFECT 4 */ 94 | .effect-4 { 95 | -webkit-transform-style: preserve-3d; 96 | -moz-transform-style: preserve-3d; 97 | transform-style: preserve-3d; 98 | -webkit-transform-origin: 0% 0%; 99 | -moz-transform-origin: 0% 0%; 100 | transform-origin: 0% 0%; 101 | -webkit-transform: rotateX(-80deg); 102 | -moz-transform: rotateX(-80deg); 103 | transform: rotateX(-80deg); 104 | -webkit-animation: flip ease-in-out forwards; 105 | -moz-animation: flip ease-in-out forwards; 106 | animation: flip ease-in-out forwards; 107 | } 108 | 109 | @-webkit-keyframes flip { 110 | 100% { -webkit-transform: rotateX(0deg); opacity: 1; } 111 | } 112 | 113 | @-moz-keyframes flip { 114 | 100% { -moz-transform: rotateX(0deg); opacity: 1; } 115 | } 116 | 117 | @keyframes flip { 118 | 100% { transform: rotateX(0deg); opacity: 1; } 119 | } 120 | 121 | 122 | /* EFFECT 5 */ 123 | .effect-5 { 124 | -webkit-transform-style: preserve-3d; 125 | -moz-transform-style: preserve-3d; 126 | transform-style: preserve-3d; 127 | -webkit-transform: rotateY(-180deg); 128 | -moz-transform: rotateY(-180deg); 129 | transform: rotateY(-180deg); 130 | -webkit-animation: moveUp ease-in-out forwards; 131 | -moz-animation: moveUp ease-in-out forwards; 132 | animation: moveUp ease-in-out forwards; 133 | } 134 | 135 | 136 | /* EFFECT 6 */ 137 | .effect-6 { 138 | 139 | -webkit-transform: scale(0.638) translate(-179px); 140 | -moz-transform: scale(0.638) translate(-179px); 141 | transform: scale(0.638) translate(-179px); 142 | 143 | -webkit-animation: moveUp ease-in-out forwards; 144 | -moz-animation: moveUp ease-in-out forwards; 145 | animation: moveUp ease-in-out forwards; 146 | } 147 | 148 | 149 | 150 | 151 | 152 | /* Universal durations */ 153 | .effect-duration-1{ 154 | -webkit-animation-duration: .4s; 155 | -moz-animation-duration: .4s; 156 | animation-duration: .4s; 157 | } 158 | .effect-duration-2{ 159 | -webkit-animation-duration: .5s; 160 | -moz-animation-duration: .5s; 161 | animation-duration: .5s; 162 | } 163 | .effect-duration-3{ 164 | -webkit-animation-duration: .6s; 165 | -moz-animation-duration: .6s; 166 | animation-duration: .6s; 167 | } 168 | .effect-duration-4{ 169 | -webkit-animation-duration: .7s; 170 | -moz-animation-duration: .7s; 171 | animation-duration: .7s; 172 | } 173 | .effect-duration-5{ 174 | -webkit-animation-duration: .8s; 175 | -moz-animation-duration: .8s; 176 | animation-duration: .8s; 177 | } 178 | .effect-duration-6{ 179 | -webkit-animation-duration: .9s; 180 | -moz-animation-duration: .9s; 181 | animation-duration: .9s; 182 | } 183 | .effect-duration-7{ 184 | -webkit-animation-duration: .95s; 185 | -moz-animation-duration: .95s; 186 | animation-duration: .95s; 187 | } 188 | .effect-duration-8{ 189 | -webkit-animation-duration: 1s; 190 | -moz-animation-duration: 1s; 191 | animation-duration: 1s; 192 | } 193 | .effect-duration-9{ 194 | -webkit-animation-duration: 1.05s; 195 | -moz-animation-duration: 1.05s; 196 | animation-duration: 1.05s; 197 | } 198 | .effect-duration-10{ 199 | -webkit-animation-duration: 1.1s; 200 | -moz-animation-duration: 1.1s; 201 | animation-duration: 1.1s; 202 | } -------------------------------------------------------------------------------- /examples/example-multiple-instances.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
78 | If you have the image sizes in the image element e.g. <img src="myimage.jpg" width="100" height="50" />
79 | then you don't need to load all images first for the plugin to work i.e. $(window).load(...
is not required.
80 | This demo has a simulated loading delay on images to show what happens. Please note that you will need all images sizes. Miss one and it won't work.
81 |
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://deelay.me/4500?http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops
CollagePlus for jQuery by @ed_lea
Credits: Dynamic placeholder images by http://placehold.it/ and colour schemes Giant Goldfish and Thought Provoking
Reveal Effects from Codedrops