Redirect on scroll to hash (2nd try)

by Bianca Kuehweidner

HTML

<div id="homepage">
    <h1>Homepage teaser</h1>
    <p>
        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
    </p>
</div>

<div id="our-profile">
    <h1>Paragraph 1</h1>
    <p>
        At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </p>
</div>

<div id="references">
    <h1>Paragraph 2</h1>
    <p>
        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
    </p>
    <p>
    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </p>
</div>

<div id="our-solutions">
    <h1>Paragraph 3</h1>
    <p>
        At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </p>
    <p>
        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
    </p>
</div>

<div id="news">
    <h1>Paragraph 4</h1>
    <p>
        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
    </p>
    <p>
        At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </p>
</div>

<div id="our-services">
    <h1>Paragraph 5</h1>
    <p>
        At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata...

CSS

body { font-family: arial; font-size: 12px; }

JavaScript

var Paragraph1Offset = $("#our-profile").offset().top; 
var Paragraph2Offset = $("#references").offset().top; 
var Paragraph3Offset = $("#our-solutions").offset().top; 
var Paragraph4Offset = $("#news").offset().top; 
var Paragraph5Offset = $("#our-services").offset().top; 

var $w = $(window).scroll(function(){ 
    if ( $w.scrollTop() > Paragraph5Offset ) { 
      console.log("Section '#our-profile' was reached");  
      if(history.pushState) {
          history.pushState(null, null, '#our-profile');
      }
      else {
          location.hash = '#our-profile';
      }
    } else if ( $w.scrollTop() > Paragraph4Offset ) { 
      console.log("Section '#news' was reached");  
      if(history.pushState) {
          history.pushState(null, null, '#news');
      }
      else {
          location.hash = '#news';
      }
    } else if ( $w.scrollTop() > Paragraph3Offset ) { 
      console.log("Section '#our-solutions' was reached");
      if(history.pushState) {
          history.pushState(null, null, '#our-solutions');
      }
      else {
          location.hash = '#our-solutions';
      }
    } else if ( $w.scrollTop() > Paragraph2Offset ) { 
      console.log("Section '#references' was reached");  
      if(history.pushState) {
          history.pushState(null, null, '#references');
      }
      else {
          location.hash = '#references';
      }
    } else if ( $w.scrollTop() > Paragraph1Offset ) { 
      console.log("Section '#our-profile' was reached");
      if(history.pushState) {
          history.pushState(null, null, '#our-profile');
      }
      else {
          location.hash = '#our-profile';
      }
    }
});