├── .gitignore ├── .idea ├── .name ├── misc.xml ├── modules.xml ├── parallaxie.iml └── vcs.xml ├── LICENSE.txt ├── README.md ├── bower.json ├── bower_components └── jquery │ ├── .bower.json │ ├── AUTHORS.txt │ ├── LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── dist │ ├── jquery.js │ ├── jquery.min.js │ ├── jquery.min.map │ ├── jquery.slim.js │ ├── jquery.slim.min.js │ └── jquery.slim.min.map │ ├── sizzle │ ├── LICENSE.txt │ └── dist │ │ ├── sizzle.js │ │ ├── sizzle.min.js │ │ └── sizzle.min.map │ └── src │ ├── .jshintrc │ ├── ajax.js │ ├── ajax │ ├── jsonp.js │ ├── load.js │ ├── parseJSON.js │ ├── parseXML.js │ ├── script.js │ ├── var │ │ ├── location.js │ │ ├── nonce.js │ │ └── rquery.js │ └── xhr.js │ ├── attributes.js │ ├── attributes │ ├── attr.js │ ├── classes.js │ ├── prop.js │ ├── support.js │ └── val.js │ ├── callbacks.js │ ├── core.js │ ├── core │ ├── DOMEval.js │ ├── access.js │ ├── init.js │ ├── parseHTML.js │ ├── ready.js │ ├── support.js │ └── var │ │ └── rsingleTag.js │ ├── css.js │ ├── css │ ├── addGetHookIf.js │ ├── adjustCSS.js │ ├── curCSS.js │ ├── defaultDisplay.js │ ├── hiddenVisibleSelectors.js │ ├── showHide.js │ ├── support.js │ └── var │ │ ├── cssExpand.js │ │ ├── getStyles.js │ │ ├── isHidden.js │ │ ├── rmargin.js │ │ ├── rnumnonpx.js │ │ └── swap.js │ ├── data.js │ ├── data │ ├── Data.js │ ├── accepts.js │ ├── support.js │ └── var │ │ ├── acceptData.js │ │ ├── dataPriv.js │ │ └── dataUser.js │ ├── deferred.js │ ├── deferred │ └── exceptionHook.js │ ├── deprecated.js │ ├── dimensions.js │ ├── effects.js │ ├── effects │ ├── Tween.js │ ├── animatedSelector.js │ └── support.js │ ├── event.js │ ├── event │ ├── ajax.js │ ├── alias.js │ ├── focusin.js │ ├── support.js │ └── trigger.js │ ├── exports │ ├── amd.js │ └── global.js │ ├── intro.js │ ├── jquery.js │ ├── manipulation.js │ ├── manipulation │ ├── _evalUrl.js │ ├── buildFragment.js │ ├── createSafeFragment.js │ ├── getAll.js │ ├── setGlobalEval.js │ ├── support.js │ ├── var │ │ ├── nodeNames.js │ │ ├── rcheckableType.js │ │ ├── rleadingWhitespace.js │ │ ├── rscriptType.js │ │ └── rtagName.js │ └── wrapMap.js │ ├── offset.js │ ├── outro.js │ ├── queue.js │ ├── queue │ └── delay.js │ ├── selector-native.js │ ├── selector-sizzle.js │ ├── selector.js │ ├── serialize.js │ ├── support.js │ ├── traversing.js │ ├── traversing │ ├── findFilter.js │ └── var │ │ ├── dir.js │ │ ├── rneedsContext.js │ │ └── siblings.js │ ├── var │ ├── arr.js │ ├── class2type.js │ ├── concat.js │ ├── deletedIds.js │ ├── document.js │ ├── documentElement.js │ ├── hasOwn.js │ ├── indexOf.js │ ├── pnum.js │ ├── push.js │ ├── rcssNum.js │ ├── rnotwhite.js │ ├── slice.js │ ├── support.js │ └── toString.js │ └── wrap.js ├── example ├── background.jpg ├── blue-bg-02.jpg ├── blue-bg.jpg ├── index.html ├── shoe-01.png ├── shoe-02.png └── triangular-folds-white.jpg └── parallaxie.js /.gitignore: -------------------------------------------------------------------------------- 1 | # IntelliJ project files 2 | .idea 3 | Thumbs.db -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | parallaxie -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/parallaxie.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 THE ULTRASOFT (http://theultrasoft.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Parallaxie 2 | Parallaxie is a jQuery plugin to create parallax effects on your websites or templates. It is very lightweight to download and rendering by your browser. 3 | 4 | ### Current Version: 5 | 0.5 6 | 7 | ### Dependency: 8 | This plugin has only one dependency, which is `jQuery` 9 | 10 | ### Demo: 11 | 12 | Watch Parallaxie in action: http://static.theultrasoft.com/parallaxie/demo/ 13 | 14 | ### License: 15 | Licensed under the MIT License (LICENSE.txt) 16 | 17 | Copyright (c) 2016 THE ULTRASOFT (http://theultrasoft.com) 18 | 19 | ### Installation: 20 | Installing this plugin is very easy. 21 | You have to include jQuery and Parallaxie scripts to your website. 22 | ``` 23 | 24 | 25 | ``` 26 | 27 | Fire up the plugin with any css selector. You must have a background image set into that element or you can use the `data-image` attribute, will explain about this later. Also, make sure the parallax element must have some height or some content which has some height. 28 | 29 | ``` 30 | 35 |
36 | 39 | ``` 40 | 41 | View a more intutive [Parallaxie example](http://theultrasoft.com/project/parallaxie). 42 | 43 | ### Options: 44 | 45 | You can easily customized this plugin any time. 46 | 47 | #### 1. On initialization: 48 | This method gives you a quick configuration option. 49 | 50 | ``` 51 | 59 | ``` 60 | 61 | #### 2. On declaration: 62 | On declaration of the parallaxie element you can specify the option using the `data-parallaxie` attribute. This gives you to control or customize different parallaxie elements with different configurations. 63 | 64 | ``` 65 |
69 | ``` 70 | 71 | | Option | Description | Default | 72 | |--------|--------------------------------------------------------------------------------------------------------------------------------------------------|-------------| 73 | | speed | Speed of the parallax. You can use any floating point number. But practically, give any fractional number between -1 and 1. Example: 0.3 or -0.5 | 0.2 | 74 | | repeat | Should the background repeat or not. Possible values: 'repeat', 'repeat-x', 'repeat-y', 'no-repeat' | 'no-repeat' | 75 | | size | background size of the image. Possible values: 'auto', 'contain', 'cover' | 'cover' | 76 | | pos_x | Position of the image horizontally. Possible values: 'left', 'center', 'right' or any percentage like: '30%' | 'center' | 77 | | offset | The parallax offset. Possible values: Any integer. | 0 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parallaxie", 3 | "main": "parallaxie.js", 4 | "homepage": "https://github.com/TheUltrasoft/Parallaxie", 5 | "authors": [ 6 | "THE ULTRASOFT " 7 | ], 8 | "description": "Easiest, Responsive and Customizable Parallax jQuery Plugin http://theultrasoft.com/projects/parallaxie", 9 | "moduleType": [], 10 | "keywords": [ 11 | "parallax", 12 | "jquery", 13 | "plugin", 14 | "html", 15 | "html5", 16 | "css", 17 | "css3" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "node_modules", 23 | "bower_components", 24 | "test", 25 | "tests" 26 | ], 27 | "dependencies": { 28 | "jquery": "^2.2.2" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.2", 16 | "_release": "2.2.2", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.2", 20 | "commit": "086d381cd2f3b4b8b0af85ecb2c9593a61e5b4bd" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "^2.2.2", 24 | "_originalSource": "jquery", 25 | "_direct": true 26 | } -------------------------------------------------------------------------------- /bower_components/jquery/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | Authors ordered by first contribution. 2 | 3 | John Resig 4 | Gilles van den Hoven 5 | Michael Geary 6 | Stefan Petre 7 | Yehuda Katz 8 | Corey Jewett 9 | Klaus Hartl 10 | Franck Marcia 11 | Jörn Zaefferer 12 | Paul Bakaus 13 | Brandon Aaron 14 | Mike Alsup 15 | Dave Methvin 16 | Ed Engelhardt 17 | Sean Catchpole 18 | Paul Mclanahan 19 | David Serduke 20 | Richard D. Worth 21 | Scott González 22 | Ariel Flesler 23 | Jon Evans 24 | TJ Holowaychuk 25 | Michael Bensoussan 26 | Robert Katić 27 | Louis-Rémi Babé 28 | Earle Castledine 29 | Damian Janowski 30 | Rich Dougherty 31 | Kim Dalsgaard 32 | Andrea Giammarchi 33 | Mark Gibson 34 | Karl Swedberg 35 | Justin Meyer 36 | Ben Alman 37 | James Padolsey 38 | David Petersen 39 | Batiste Bieler 40 | Alexander Farkas 41 | Rick Waldron 42 | Filipe Fortes 43 | Neeraj Singh 44 | Paul Irish 45 | Iraê Carvalho 46 | Matt Curry 47 | Michael Monteleone 48 | Noah Sloan 49 | Tom Viner 50 | Douglas Neiner 51 | Adam J. Sontag 52 | Dave Reed 53 | Ralph Whitbeck 54 | Carl Fürstenberg 55 | Jacob Wright 56 | J. Ryan Stinnett 57 | unknown 58 | temp01 59 | Heungsub Lee 60 | Colin Snover 61 | Ryan W Tenney 62 | Pinhook 63 | Ron Otten 64 | Jephte Clain 65 | Anton Matzneller 66 | Alex Sexton 67 | Dan Heberden 68 | Henri Wiechers 69 | Russell Holbrook 70 | Julian Aubourg 71 | Gianni Alessandro Chiappetta 72 | Scott Jehl 73 | James Burke 74 | Jonas Pfenniger 75 | Xavi Ramirez 76 | Jared Grippe 77 | Sylvester Keil 78 | Brandon Sterne 79 | Mathias Bynens 80 | Timmy Willison 81 | Corey Frang 82 | Digitalxero 83 | Anton Kovalyov 84 | David Murdoch 85 | Josh Varner 86 | Charles McNulty 87 | Jordan Boesch 88 | Jess Thrysoee 89 | Michael Murray 90 | Lee Carpenter 91 | Alexis Abril 92 | Rob Morgan 93 | John Firebaugh 94 | Sam Bisbee 95 | Gilmore Davidson 96 | Brian Brennan 97 | Xavier Montillet 98 | Daniel Pihlstrom 99 | Sahab Yazdani 100 | avaly 101 | Scott Hughes 102 | Mike Sherov 103 | Greg Hazel 104 | Schalk Neethling 105 | Denis Knauf 106 | Timo Tijhof 107 | Steen Nielsen 108 | Anton Ryzhov 109 | Shi Chuan 110 | Berker Peksag 111 | Toby Brain 112 | Matt Mueller 113 | Justin 114 | Daniel Herman 115 | Oleg Gaidarenko 116 | Richard Gibson 117 | Rafaël Blais Masson 118 | cmc3cn <59194618@qq.com> 119 | Joe Presbrey 120 | Sindre Sorhus 121 | Arne de Bree 122 | Vladislav Zarakovsky 123 | Andrew E Monat 124 | Oskari 125 | Joao Henrique de Andrade Bruni 126 | tsinha 127 | Matt Farmer 128 | Trey Hunner 129 | Jason Moon 130 | Jeffery To 131 | Kris Borchers 132 | Vladimir Zhuravlev 133 | Jacob Thornton 134 | Chad Killingsworth 135 | Nowres Rafid 136 | David Benjamin 137 | Uri Gilad 138 | Chris Faulkner 139 | Elijah Manor 140 | Daniel Chatfield 141 | Nikita Govorov 142 | Wesley Walser 143 | Mike Pennisi 144 | Markus Staab 145 | Dave Riddle 146 | Callum Macrae 147 | Benjamin Truyman 148 | James Huston 149 | Erick Ruiz de Chávez 150 | David Bonner 151 | Akintayo Akinwunmi 152 | MORGAN 153 | Ismail Khair 154 | Carl Danley 155 | Mike Petrovich 156 | Greg Lavallee 157 | Daniel Gálvez 158 | Sai Lung Wong 159 | Tom H Fuertes 160 | Roland Eckl 161 | Jay Merrifield 162 | Allen J Schmidt Jr 163 | Jonathan Sampson 164 | Marcel Greter 165 | Matthias Jäggli 166 | David Fox 167 | Yiming He 168 | Devin Cooper 169 | Paul Ramos 170 | Rod Vagg 171 | Bennett Sorbo 172 | Sebastian Burkhard 173 | Zachary Adam Kaplan 174 | nanto_vi 175 | nanto 176 | Danil Somsikov 177 | Ryunosuke SATO 178 | Jean Boussier 179 | Adam Coulombe 180 | Andrew Plummer 181 | Mark Raddatz 182 | Isaac Z. Schlueter 183 | Karl Sieburg 184 | Pascal Borreli 185 | Nguyen Phuc Lam 186 | Dmitry Gusev 187 | Michał Gołębiowski 188 | Li Xudong 189 | Steven Benner 190 | Tom H Fuertes 191 | Renato Oliveira dos Santos 192 | ros3cin 193 | Jason Bedard 194 | Kyle Robinson Young 195 | Chris Talkington 196 | Eddie Monge 197 | Terry Jones 198 | Jason Merino 199 | Jeremy Dunck 200 | Chris Price 201 | Guy Bedford 202 | Amey Sakhadeo 203 | Mike Sidorov 204 | Anthony Ryan 205 | Dominik D. Geyer 206 | George Kats 207 | Lihan Li 208 | Ronny Springer 209 | Chris Antaki 210 | Marian Sollmann 211 | njhamann 212 | Ilya Kantor 213 | David Hong 214 | John Paul 215 | Jakob Stoeck 216 | Christopher Jones 217 | Forbes Lindesay 218 | S. Andrew Sheppard 219 | Leonardo Balter 220 | Roman Reiß 221 | Benjy Cui 222 | Rodrigo Rosenfeld Rosas 223 | John Hoven 224 | Philip Jägenstedt 225 | Christian Kosmowski 226 | Liang Peng 227 | TJ VanToll 228 | Senya Pugach 229 | Aurelio De Rosa 230 | Nazar Mokrynskyi 231 | Amit Merchant 232 | Jason Bedard 233 | Arthur Verschaeve 234 | Dan Hart 235 | Bin Xin 236 | David Corbacho 237 | Veaceslav Grimalschi 238 | Daniel Husar 239 | Frederic Hemberger 240 | Ben Toews 241 | Aditya Raghavan 242 | Victor Homyakov 243 | Shivaji Varma 244 | Nicolas HENRY 245 | Anne-Gaelle Colom 246 | George Mauer 247 | Leonardo Braga 248 | Stephen Edgar 249 | Thomas Tortorini 250 | Winston Howes 251 | Jon Hester 252 | Alexander O'Mara 253 | Bastian Buchholz 254 | Arthur Stolyar 255 | Calvin Metcalf 256 | Mu Haibao 257 | Richard McDaniel 258 | Chris Rebert 259 | Gabriel Schulhof 260 | Gilad Peleg 261 | Martin Naumann 262 | Marek Lewandowski 263 | Bruno Pérel 264 | Reed Loden 265 | Daniel Nill 266 | Yongwoo Jeon 267 | Sean Henderson 268 | Richard Kraaijenhagen 269 | Connor Atherton 270 | Gary Ye 271 | Christian Grete 272 | Liza Ramo 273 | Julian Alexander Murillo 274 | Joelle Fleurantin 275 | Jun Sun 276 | Devin Wilson 277 | Todor Prikumov 278 | Zack Hall 279 | -------------------------------------------------------------------------------- /bower_components/jquery/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/jquery 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /bower_components/jquery/README.md: -------------------------------------------------------------------------------- 1 | # jQuery 2 | 3 | > jQuery is a fast, small, and feature-rich JavaScript library. 4 | 5 | For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/). 6 | For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery). 7 | 8 | ## Including jQuery 9 | 10 | Below are some of the most common ways to include jQuery. 11 | 12 | ### Browser 13 | 14 | #### Script tag 15 | 16 | ```html 17 | 18 | ``` 19 | 20 | #### Babel 21 | 22 | [Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. 23 | 24 | ```js 25 | import $ from "jquery"; 26 | ``` 27 | 28 | #### Browserify/Webpack 29 | 30 | There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this... 31 | 32 | ```js 33 | var $ = require("jquery"); 34 | ``` 35 | 36 | #### AMD (Asynchronous Module Definition) 37 | 38 | AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html). 39 | 40 | ```js 41 | define(["jquery"], function($) { 42 | 43 | }); 44 | ``` 45 | 46 | ### Node 47 | 48 | To include jQuery in [Node](nodejs.org), first install with npm. 49 | 50 | ```sh 51 | npm install jquery 52 | ``` 53 | 54 | For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes. 55 | 56 | ```js 57 | require("jsdom").env("", function(err, window) { 58 | if (err) { 59 | console.error(err); 60 | return; 61 | } 62 | 63 | var $ = require("jquery")(window); 64 | }); 65 | ``` 66 | -------------------------------------------------------------------------------- /bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ] 14 | } -------------------------------------------------------------------------------- /bower_components/jquery/sizzle/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/sizzle 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /bower_components/jquery/src/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "quotmark": "double", 10 | "undef": true, 11 | "unused": true, 12 | 13 | "sub": true, 14 | 15 | // Support: IE < 10, Android < 4.1 16 | // The above browsers are failing a lot of tests in the ES5 17 | // test suite at http://test262.ecmascript.org. 18 | "es3": true, 19 | 20 | "globals": { 21 | "window": true, 22 | "JSON": false, 23 | 24 | "jQuery": true, 25 | "define": true, 26 | "module": true, 27 | "noGlobal": true 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/jsonp.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "./var/nonce", 4 | "./var/rquery", 5 | "../ajax" 6 | ], function( jQuery, nonce, rquery ) { 7 | 8 | var oldCallbacks = [], 9 | rjsonp = /(=)\?(?=&|$)|\?\?/; 10 | 11 | // Default jsonp settings 12 | jQuery.ajaxSetup( { 13 | jsonp: "callback", 14 | jsonpCallback: function() { 15 | var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); 16 | this[ callback ] = true; 17 | return callback; 18 | } 19 | } ); 20 | 21 | // Detect, normalize options and install callbacks for jsonp requests 22 | jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 23 | 24 | var callbackName, overwritten, responseContainer, 25 | jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 26 | "url" : 27 | typeof s.data === "string" && 28 | ( s.contentType || "" ) 29 | .indexOf( "application/x-www-form-urlencoded" ) === 0 && 30 | rjsonp.test( s.data ) && "data" 31 | ); 32 | 33 | // Handle iff the expected data type is "jsonp" or we have a parameter to set 34 | if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 35 | 36 | // Get callback name, remembering preexisting value associated with it 37 | callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? 38 | s.jsonpCallback() : 39 | s.jsonpCallback; 40 | 41 | // Insert callback into url or form data 42 | if ( jsonProp ) { 43 | s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 44 | } else if ( s.jsonp !== false ) { 45 | s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 46 | } 47 | 48 | // Use data converter to retrieve json after script execution 49 | s.converters[ "script json" ] = function() { 50 | if ( !responseContainer ) { 51 | jQuery.error( callbackName + " was not called" ); 52 | } 53 | return responseContainer[ 0 ]; 54 | }; 55 | 56 | // Force json dataType 57 | s.dataTypes[ 0 ] = "json"; 58 | 59 | // Install callback 60 | overwritten = window[ callbackName ]; 61 | window[ callbackName ] = function() { 62 | responseContainer = arguments; 63 | }; 64 | 65 | // Clean-up function (fires after converters) 66 | jqXHR.always( function() { 67 | 68 | // If previous value didn't exist - remove it 69 | if ( overwritten === undefined ) { 70 | jQuery( window ).removeProp( callbackName ); 71 | 72 | // Otherwise restore preexisting value 73 | } else { 74 | window[ callbackName ] = overwritten; 75 | } 76 | 77 | // Save back as free 78 | if ( s[ callbackName ] ) { 79 | 80 | // Make sure that re-using the options doesn't screw things around 81 | s.jsonpCallback = originalSettings.jsonpCallback; 82 | 83 | // Save the callback name for future use 84 | oldCallbacks.push( callbackName ); 85 | } 86 | 87 | // Call if it was a function and we have a response 88 | if ( responseContainer && jQuery.isFunction( overwritten ) ) { 89 | overwritten( responseContainer[ 0 ] ); 90 | } 91 | 92 | responseContainer = overwritten = undefined; 93 | } ); 94 | 95 | // Delegate to script 96 | return "script"; 97 | } 98 | } ); 99 | 100 | } ); 101 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/load.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../core/parseHTML", 4 | "../ajax", 5 | "../traversing", 6 | "../manipulation", 7 | "../selector", 8 | 9 | // Optional event/alias dependency 10 | "../event/alias" 11 | ], function( jQuery ) { 12 | 13 | // Keep a copy of the old load method 14 | var _load = jQuery.fn.load; 15 | 16 | /** 17 | * Load a url into a page 18 | */ 19 | jQuery.fn.load = function( url, params, callback ) { 20 | if ( typeof url !== "string" && _load ) { 21 | return _load.apply( this, arguments ); 22 | } 23 | 24 | var selector, type, response, 25 | self = this, 26 | off = url.indexOf( " " ); 27 | 28 | if ( off > -1 ) { 29 | selector = jQuery.trim( url.slice( off ) ); 30 | url = url.slice( 0, off ); 31 | } 32 | 33 | // If it's a function 34 | if ( jQuery.isFunction( params ) ) { 35 | 36 | // We assume that it's the callback 37 | callback = params; 38 | params = undefined; 39 | 40 | // Otherwise, build a param string 41 | } else if ( params && typeof params === "object" ) { 42 | type = "POST"; 43 | } 44 | 45 | // If we have elements to modify, make the request 46 | if ( self.length > 0 ) { 47 | jQuery.ajax( { 48 | url: url, 49 | 50 | // If "type" variable is undefined, then "GET" method will be used. 51 | // Make value of this field explicit since 52 | // user can override it through ajaxSetup method 53 | type: type || "GET", 54 | dataType: "html", 55 | data: params 56 | } ).done( function( responseText ) { 57 | 58 | // Save response for use in complete callback 59 | response = arguments; 60 | 61 | self.html( selector ? 62 | 63 | // If a selector was specified, locate the right elements in a dummy div 64 | // Exclude scripts to avoid IE 'Permission Denied' errors 65 | jQuery( "
" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 66 | 67 | // Otherwise use the full result 68 | responseText ); 69 | 70 | // If the request succeeds, this function gets "data", "status", "jqXHR" 71 | // but they are ignored because response was set above. 72 | // If it fails, this function gets "jqXHR", "status", "error" 73 | } ).always( callback && function( jqXHR, status ) { 74 | self.each( function() { 75 | callback.apply( self, response || [ jqXHR.responseText, status, jqXHR ] ); 76 | } ); 77 | } ); 78 | } 79 | 80 | return this; 81 | }; 82 | 83 | } ); 84 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 15 | } catch ( e ) { 16 | xml = undefined; 17 | } 18 | 19 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 20 | jQuery.error( "Invalid XML: " + data ); 21 | } 22 | return xml; 23 | }; 24 | 25 | return jQuery.parseXML; 26 | 27 | } ); 28 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../var/document", 4 | "../ajax" 5 | ], function( jQuery, document ) { 6 | 7 | // Install script dataType 8 | jQuery.ajaxSetup( { 9 | accepts: { 10 | script: "text/javascript, application/javascript, " + 11 | "application/ecmascript, application/x-ecmascript" 12 | }, 13 | contents: { 14 | script: /\b(?:java|ecma)script\b/ 15 | }, 16 | converters: { 17 | "text script": function( text ) { 18 | jQuery.globalEval( text ); 19 | return text; 20 | } 21 | } 22 | } ); 23 | 24 | // Handle cache's special case and crossDomain 25 | jQuery.ajaxPrefilter( "script", function( s ) { 26 | if ( s.cache === undefined ) { 27 | s.cache = false; 28 | } 29 | if ( s.crossDomain ) { 30 | s.type = "GET"; 31 | } 32 | } ); 33 | 34 | // Bind script tag hack transport 35 | jQuery.ajaxTransport( "script", function( s ) { 36 | 37 | // This transport only deals with cross domain requests 38 | if ( s.crossDomain ) { 39 | var script, callback; 40 | return { 41 | send: function( _, complete ) { 42 | script = jQuery( " 9 | 10 | 103 | 104 | 105 | 106 | 107 |
108 |
109 |

Parallaxie

110 |
Easiest, Responsive and Customizable Parallax jQuery Plugin
111 | Download Plugin 112 | Documentation 113 |
114 |
115 | 116 | 117 |
118 |
119 |
120 |
121 | 122 | 123 | 129 | 130 | 131 | 135 | 136 | -------------------------------------------------------------------------------- /example/shoe-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theultrasoft/Parallaxie/e8567ecd4d88f55a242c8248ab27c9c1a8d51344/example/shoe-01.png -------------------------------------------------------------------------------- /example/shoe-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theultrasoft/Parallaxie/e8567ecd4d88f55a242c8248ab27c9c1a8d51344/example/shoe-02.png -------------------------------------------------------------------------------- /example/triangular-folds-white.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theultrasoft/Parallaxie/e8567ecd4d88f55a242c8248ab27c9c1a8d51344/example/triangular-folds-white.jpg -------------------------------------------------------------------------------- /parallaxie.js: -------------------------------------------------------------------------------- 1 | /*! Copyright (c) 2016 THE ULTRASOFT (http://theultrasoft.com) 2 | * Licensed under the MIT License (LICENSE.txt). 3 | * 4 | * Project: Parallaxie 5 | * Version: 0.5 6 | * 7 | * Requires: jQuery 1.9+ 8 | */ 9 | 10 | (function( $ ){ 11 | 12 | $.fn.parallaxie = function( options ){ 13 | 14 | options = $.extend({ 15 | speed: 0.2, 16 | repeat: 'no-repeat', 17 | size: 'cover', 18 | pos_x: 'center', 19 | offset: 0, 20 | }, options ); 21 | 22 | this.each(function(){ 23 | 24 | var $el = $(this); 25 | var local_options = $el.data('parallaxie'); 26 | if( typeof local_options !== 'object' ) local_options = {}; 27 | local_options = $.extend( {}, options, local_options ); 28 | 29 | var image_url = $el.data('image'); 30 | if( typeof image_url === 'undefined' ){ 31 | image_url = $el.css('background-image'); 32 | if( !image_url ) return; 33 | 34 | // APPLY DEFAULT CSS 35 | var pos_y = local_options.offset + ($el.offset().top - $(window).scrollTop()) * (1 - local_options.speed ); 36 | $el.css({ 37 | 'background-image': image_url, 38 | 'background-size': local_options.size, 39 | 'background-repeat': local_options.repeat, 40 | 'background-attachment': 'fixed', 41 | 'background-position': local_options.pos_x + ' ' + pos_y + 'px', 42 | }); 43 | 44 | 45 | // Call by default for the first time on initialization. 46 | parallax_scroll( $el, local_options ); 47 | 48 | // Call by whenever the scroll event occurs. 49 | $(window).scroll( function(){ 50 | parallax_scroll( $el, local_options ); 51 | }); 52 | 53 | } 54 | }); 55 | 56 | return this; 57 | }; 58 | 59 | 60 | function parallax_scroll( $el, local_options ){ 61 | var pos_y = local_options.offset + ($el.offset().top - $(window).scrollTop()) * (1 - local_options.speed ); 62 | $el.data( 'pos_y', pos_y ); 63 | $el.css( 'background-position', local_options.pos_x + ' ' + pos_y + 'px' ); 64 | } 65 | 66 | }( jQuery )); --------------------------------------------------------------------------------