FullPage.js – Create Beautiful Fullscreen Scrolling Websites

A simple and easy to use plugin to create fullscreen scrolling websites. (also known as single page websites) It allows to create fullscren scrolling websites as well as adding some landscape sliders inside the sections of the site.

FullPage.js -  Create Beautiful Fullscreen Scrolling Websites

The plugin is in its first version and will keep improving with the time. Suggestion will be more than welcome, not only for requisites requests but also for coding improvements.

Let’s make of this a great plugin to make the world easier!

Working under all modern browsers as well as old ones such as IE8, Opera 12…


As you can see in the example.html file, you will need to include the javascript file jquery.fullPage.js (or the minified version jquery.fullPage.min.js) and the css file jquery.fullPage.css of the plugin as well asjQuery library (and the jQuery UI library in case you want to use easing effects. (active by default))

Including files:

<link rel="stylesheet" type="text/css" href="jquery.fullPage.css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>    

<script type="text/javascript" src="jquery.fullPage.js"></script>

Required HTML structure

Each section will be defined with a div containing the section class. The active section by default will be the first section, which is taken as the home page.

<div class="section">WHATEVER</div>
<div class="section">WHATEVER</div>
<div class="section">WHATEVER</div>
<div class="section">WHATEVER</div>

In order to create a landscape slider within a section, each slide will be difined with another div:

<div class="section">
    <div class="slide"> Slide 1 </div>
    <div class="slide"> Slide 2 </div>
    <div class="slide"> Slide 3 </div>
    <div class="slide"> Slide 4 </div>

You can see a full example of the HTML structure in the example.html file.

Don’t struggle alone with projects

Join the creative community of UX, graphic, web designers and developers to get help with any design or dev project.


Then, you will only need to call the plugin inside $(document).ready function:

$(document).ready(function() {


  • verticalCentered: (default true) Vertically centering of the content within sections.
  • resize: (default true) Whether you want to resize the text when the window is resized.
  • scrollingSpeed: (default 700) Speed in miliseconds for the scrolling transitions.
  • slidesColor:(default none) Define the CSS background-color property for each section: Example:
    slidesColor: ['#f2f2f2', '#4BBFC3', '#7BAABE', 'whitesmoke', '#000'],
  • easing: (default easeInQuart) Defines the transition effect to use for the vertical scrolling. It requieresjQuery UI library in case of using some of its transitions. Other library could be used instead.
  • loopTop: (default false) Defines whether scrolling up in the first section should scroll to the last one or not.
  • loopBottom: (default false) Defines whether scrolling down in the last section should scroll to the first one or not.
  • touchScrolling: (default true) Defines whether to use the touch scrolling on touch devices or the normal scroll. It also has influence on the way the sections fit the browser/device window.
  • menu: (default ‘false’) A selector can be used to specify the menu to link with the slides. This way the scrolling of the slides will activate the corresponding element in the menu using the class active. This won’t generate a menu but will just add the active class to the element in the given menu with the corresponding anchor link. In order to link the elements of the menu with the slides, an HTML 5 data-tag (data-menuanchor) will be needed to use with the same anchor links as used within the sections. Example:
    <ul id="myMenu">
    <li data-menuanchor="firstPage" class="active"><a href="#firstPage">First section</a></li>
    <li data-menuanchor="secondPage"><a href="#secondPage">Second section</a></li>
    <li data-menuanchor="thirdPage"><a href="#thirdPage">Third section</a></li>
    <li data-menuanchor="fourthPage"><a href="#fourthPage">Fourth section</a></li>
    anchors: ['firstPage', 'secondPage', 'thirdPage', 'fourthPage', 'lastPage'],
    menu: '#myMenu'



Scrolls one slide up:



Scrolls one slide down:



Scrolls the page to the given slide anchor name or to the given index.

/*Scrolling to the section with the anchor link `firstSlide` */
/*Scrolling to the 3rd section in the site*/


afterLoad (anchorLinkindex) Callback fired once the sections has been loaded, once the scrolling has ended. Parameters:

  • anchorLink: anchorLink corresponding to the section.
  • index: index of the section. Starting from 1.

In case of not having anchorLinks defined in the plugin the index parameter would be the only one to use.


        anchors: ['firstPage', 'secondPage', 'thirdPage', 'fourthPage', 'lastPage'],

        afterLoad: function(anchorLink, index){
            //using index
            if(index == '3'){
                alert("Section 3 ended loading");

            //using anchorLink
            if(anchorLink == 'secondSlide'){
                alert("Section 2 ended loading");



(The MIT License)
Copyright (c) 2013 Alvaro Trigo <[email protected]>

You may also like...

7 Responses

  1. HipolitoAlonso says:

    hey!… im trying but i can`t make a backgroud image fit to the screen resolution in the slide…
    if you have the section it fits ok, but when you put a slide does not fit.

  2. designifyme says:

    HipolitoAlonso Hey, Can you create a js fiddle or just put the code somewhere, so I can see the issue.

  3. HipolitoAlonso says:

    designifyme HipolitoAlonso http://pixeria.com.ar/seba/test.html

  4. designifyme says:

    HipolitoAlonso designifyme
    Try to putting “background-size: cover;” to #slide1, 2,3…. in the css.  I think it works fine. Let me know if it works for you.

  5. lisum says:

    nice job.

    Question: is there possibility to make scroll with diferent transition then slidedown. Something like crossdisolve (one slide goes away, next one goes cross)

    Thank you


  6. designifyme says:

    lisum Will try it out to see. Thanks for visiting!

  7. sellerbcools says:

    designifyme HipolitoAlonso  

    Hi from where id is getting from..?ie; id=”section0″ id=”section1″ for every div
    how can i apply the same to other menus?

Leave a Reply

Your email address will not be published. Required fields are marked *