<script>
"use strict";
OB_ready(OB_doWhenReady);

function OB_doWhenReady() {
    // localize everything
    var ooohBoi = window.ooohBoi || {};
    // local scope variables
    ooohBoi.prev_scroll_pos = window.scrollY || document.body.scrollTop;
    ooohBoi.cur_scroll_pos;
    ooohBoi.scroll_direction = 'init';
    ooohBoi.prev_scroll_direction = 0;
    ooohBoi.header = document.querySelector('#show-hide-header'); // header ID
    ooohBoi.header_pos = {
        top: ooohBoi.header.offsetTop,
        left: ooohBoi.header.offsetLeft,
    };
    ooohBoi.header_height = OB_outerHeight(ooohBoi.header);
    // show-hide header with ease/transition
    ooohBoi.header.style.transition = 'all 0.3s ease';
    // update header height on window resize
    ooohBoi.updateHeaderHeight = function() {
        ooohBoi.header_height = OB_outerHeight(ooohBoi.header);
    }
    // listen "scroll" event and decide what to do
    ooohBoi.checkScroll = function() {
        ooohBoi.cur_scroll_pos = window.scrollY || document.body.scrollTop;

        if (ooohBoi.cur_scroll_pos > ooohBoi.prev_scroll_pos) ooohBoi.scroll_direction = 'down';
        else if (ooohBoi.cur_scroll_pos < ooohBoi.prev_scroll_pos) ooohBoi.scroll_direction = 'up';

        if (ooohBoi.scroll_direction !== ooohBoi.prev_scroll_direction) ooohBoi.toggleHeader(ooohBoi.scroll_direction, ooohBoi.cur_scroll_pos);
        ooohBoi.prev_scroll_pos = ooohBoi.cur_scroll_pos;
    }
    // add or remove class based on the scrolling direction
    ooohBoi.toggleHeader = function(scroll_direction, scroll_current) {
        if (scroll_direction === 'down' && scroll_current > ooohBoi.header_height) {
            OB_addClass(ooohBoi.header, 'im-hidden'); // for styling
            ooohBoi.header.style.top = -1 * ooohBoi.header_height + "px";
            ooohBoi.prev_scroll_direction = scroll_direction;
        } else if (scroll_direction === 'up') {
            OB_removeClass(ooohBoi.header, 'im-hidden');
            ooohBoi.header.style.top = ooohBoi.header_pos.top + "px";
            ooohBoi.prev_scroll_direction = scroll_direction;
        }
    }
    // listen "scroll" and "resize" window events
    window.addEventListener('scroll', ooohBoi.checkScroll);
    window.addEventListener('resize', ooohBoi.updateHeaderHeight);
}

function OB_outerHeight(el) {
    var height = el.offsetHeight;
    var style = getComputedStyle(el);
    height += parseInt(style.marginTop) + parseInt(style.marginBottom);
    return height;
}

function OB_addClass(el, className) {
    if (el.classList) el.classList.add(className);
    else {
        var current = el.className,
            found = false;
        var all = current.split(' ');
        for (var i = 0; i < all.length, !found; i++) found = all[i] === className;
        if (!found) {
            if (current === '') el.className = className;
            else el.className += ' ' + className;
        }
    }
}

function OB_removeClass(el, className) {
    if (el.classList) el.classList.remove(className);
    else el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
}

function OB_ready(fn) {
    if (document.readyState != 'loading') fn();
    else if (document.addEventListener) document.addEventListener('DOMContentLoaded', fn);
    else {
        document.attachEvent('onreadystatechange', function() {
            if (document.readyState != 'loading') fn();
        });
    }
}
</script>
				
			

Glazen gevels

Tempor suspendisse purus at lorem posuere porttitor. Morbi facilisis, est sed placerat placerat, sem tortor maximus ante, ut varius leo magna non est. Duis vel imperdiet turpis, et lobortis purus. Nulla ac ipsum porta, fermentum lacus quis, tempus lectus. Nullam blandit hendrerit turpis, id vulputate mi posuere quis. Vestibulum ac vulputate tortor. Suspendisse sit amet luctus dui, vel dignissim libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam quis diam a urna convallis interdum. Vestibulum lacinia vulputate porttitor. Mauris molestie augue eget eros consectetur sagittis. Nullam nisi justo, iaculis a consectetur vitae, accumsan eu enim. Aenean dapibus consequat hendrerit. Suspendisse et leo eu ligula venenatis pellentesque eget vitae leo.

Gerelateerd

Hout draagt bij tot een beter leefmilieu

Suspendisse tempor purus at lorem posuere porttitor. Morbi facilisis, est sed placerat placerat, sem tortor maximus ante, ut varius leo…

Een verhaal over verbouwing

Een verhaal over de verbouwing van Woning KIR in de Billie special ‘zo wonen architecten’. Suspendisse tempor purus at lorem…

Op de uitkijk met Jan

Als onze belangrijkste grondconsulent speelde BC architects and studies een sleutelrol in de verwezenlijking van onze uitkijktoren Negenoord, en onlangs…

Into the woods

Lorem posuere porttitor. Morbi facilisis, est sed placerat placerat, sem tortor maximus ante, ut varius leo magna non est. Duis…