Skip to content

hellsan631/angular-fullpage.js

Repository files navigation

fullPage.js Angular Directive

Enhanced by BrowserStack

Code Climate License

A simple fullPage.js directive that allows the use of fullPage.js within an angular app. There are several issues when using the vanilla jquery version with an angular application that uses an internal router for displaying pages, and this repo aims to solve them.

Example - Source

Installation

Install via Download,

Bower

bower install --save angular-fullpage.js

or NPM

npm install --save angular-fullpage.js

====

Make sure to include both this directive and fullPage.js. This package isn't a replacement.

index.html

<!-- Included dependancies:
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="vendor/fullpage.js/jquery.fullPage.min.js"></script>
-->

<script src="vendor/angular-fullpage.js/angular-fullpage.min.js"></script>

In your angular modules, include the Directive

app.module.js

angular
  .module('app', [
    'fullPage.js'
    ...
  ]);

Add your standard fullPage.js structure, along with the attribute full-page

someView.html

<div full-page>
    <div class="section">Some section</div>
    <div class="section">Some section</div>
    <div class="section">Some section</div>
    <div class="section">Some section</div>
</div>

Options

If you'd like to add some options to the fullpage, just include them in an object in your controller, and add the options attribute to your html.

someView.html

function MainController(){

  var _this = this;

  _this.mainOptions = {
    sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE'],
    navigation: true,
    navigationPosition: 'right',
    scrollingSpeed: 1000
  }

}

someView.html

<div full-page options="vm.someOptions">
    <div class="section">Some section</div>
    <div class="section">Some section</div>
    <div class="section">Some section</div>
</div>

You can even make them dynamic.