UNPKG

js.anchor

Version:

Click and go to target. Pretty simple with only ~2KB and without dependencies.

146 lines (111 loc) 2.29 kB
# Anchor > :anchor: Click and go to target. Pretty simple with only ~2KB and without dependencies. [Live Demo](https://jsfiddle.net/d854bwxd/2/ ) ## Install ### Bower ``` bower install anchor.js --save ``` ### npm ``` npm install js.anchor --save ``` ### CDN ```html <script src="https://cdn.rawgit.com/CezarLuiz0/anchor.js/master/dist/anchor.min.js"></script> ``` ## Usage The simplest way. ```html <header> <button data-anchor=".contact"> Contact Us! </button> <section class="contact"> ... </section> </header> ``` ```javascript var anchor = new Anchor(); anchor.init(); ``` Do you want more options? Sure! ```html <header> <button data-anchor="#jobs" data-anchor-duration="2000" data-anchor-offset="200" > View our Jobs! </button> <div id="jobs"> ... </div> </header> ``` ## Options ```html <a href="#fallback" data-anchor=".clientes-container" data-anchor-duration="1200" data-anchor-offset="80" data-anchor-callback="done" data-anchor-easing="myCustomEasing" > Our clients </a> ``` ### Attributes Attribute|Required?|Default|Description ---------|---------|-------|----------- `data-anchor`|Yes|-|A CSS like selector to your target. `data-anchor-duration`|No|`800`|In milliseconds. `data-anchor-offset`|No|`0`|Self descriptive :) `data-anchor-callback`|No|-|The callback will be called when the scroll is finished. `data-anchor-easing`|No|`easeInOutQuad`|The easing function. You can create your custom easing. Yes! #### Callback ```html <button data-anchor=".container" data-anchor-callback="done" > Our clients </button> ``` ```javascript var anchor = new Anchor(); anchor.init(); function done() { alert('Scroll reached the target!'); } ``` #### Easing You can create your custom easing: [Click here to create](http://goo.gl/n4qV3) ```html <button data-anchor=".container" data-anchor-easing="myCustomEasing" > Our clients </button> ``` ```javascript var anchor = new Anchor({ easings: { // Example with 'back in quartic' easing myCustomEasing: function(t, b, c, d) { var ts=(t/=d)*t; var tc=ts*t; return b+c*(2*ts*ts + 2*tc + -3*ts); } } }); anchor.init(); ``` ## License MIT. Did you like it? Fork and contribute ;) Made with :heart: