main.js

1 lines ASCII Unix (LF)
1
(function(){
    'use strict';
    
    var content = document.getElementById('content'),
    browserSizeSpan = document.getElementById('browserSize'),
    divSizeSpan = document.getElementById('divSize'),
    browserHeight = window.innerHeight, 
    browserWidth = window.innerWidth,
    divSize = {};

    /**
     * A function that returns the elements height and width
     **/
    function getSize(element) {
        var osWidth = element.offsetWidth,
        osHeight = element.offsetHeight,
        clientWidth = element.clientWidth,
        clientHeight = element.clientHeight,
        posX = element.offsetLeft,
        posY = element.offsetTop;

        return {osWidth: osWidth, osHeight: osHeight, clWidth: clientWidth, clHeight: clientHeight, posLeft: posX, posTop: posY};
    }
    /**
     * A function for creating a div, 100 x 100px
     * With .style you can get to the elements CSS properties
     **/
    function createDiv() {
        var newDiv = document.createElement('div');
        newDiv.style.height = 100+'px';
        newDiv.style.width = 100+'px';
        
        return newDiv;         
    }

    browserSizeSpan.innerHTML = browserWidth + ' X ' + browserHeight + 'px';
    divSize = getSize(content);
    divSizeSpan.innerHTML = '<br>offsetWidth: ' + divSize.osWidth + 'px, offsetHeight: ' + divSize.osHeight + 'px<br>clientWidth: ' + divSize.clWidth + 'px, clientHeight: ' + divSize.clHeight + 'px<br>Pos left: ' + divSize.posLeft + 'px, Pos Top: ' + divSize.posTop + 'px';
    
    /**
     * Create the first div, pass it to getSize(..) and print out the data
     **/
    var firstDiv = createDiv(),
    spanOne = document.createElement('span');
    firstDiv.style.backgroundColor = 'yellow';
    content.appendChild(firstDiv);
    // get the size of the div, can be reached later with divSize.x and divSize.y
    divSize = getSize(firstDiv);
    spanOne.innerHTML = '(border: 0, margin: 0, padding: 0)<br>offsetWidth: ' + divSize.osWidth + 'px, offsetHeight: ' + divSize.osHeight + 'px<br>clientWidth: ' + divSize.clWidth + 'px, clientHeight: ' + divSize.clHeight + 'px<br>Pos left: ' + divSize.posLeft + 'px, Pos Top: ' + divSize.posTop + 'px';
    content.appendChild(spanOne);

    /**
     * Create the second div, pass it to getSize(..) and print out the data
     **/
    var secondDiv = createDiv(),
    spanTwo = document.createElement('span');
    secondDiv.style.backgroundColor = 'green';
    secondDiv.style.margin = '10px';
    content.appendChild(secondDiv);
    // get the size of the div, can be reached later with divSize.x and divSize.y
    divSize = getSize(secondDiv);
    spanTwo.innerHTML = '(border: 0, margin: 10, padding: 0)<br>offsetWidth: ' + divSize.osWidth + 'px, offsetHeight: ' + divSize.osHeight + 'px<br>clientWidth: ' + divSize.clWidth + 'px, clientHeight: ' + divSize.clHeight + 'px<br>Pos left: ' + divSize.posLeft + 'px, Pos Top: ' + divSize.posTop + 'px';
    content.appendChild(spanTwo);

    /**
     * Create the third div, pass it to getSize(..) and print out the data
     **/
    var thirdDiv = createDiv(),
    spanThree = document.createElement('span');
    thirdDiv.style.backgroundColor = 'red';
    thirdDiv.style.margin = '10px';
    thirdDiv.style.padding = '10px';
    content.appendChild(thirdDiv);
    // get the size of the div, can be reached later with divSize.x and divSize.y
    divSize = getSize(thirdDiv);
    spanThree.innerHTML = '(border: 0, margin: 10, padding: 10)<br>offsetWidth: ' + divSize.osWidth + ' X ' + divSize.osHeight + 'px<br>clientWidth: ' + divSize.clWidth + ' X ' + divSize.clHeight + 'px<br>Pos left: ' + divSize.posLeft + 'px, Pos Top: ' + divSize.posTop + 'px';
    content.appendChild(spanThree);

    /**
     * Create the fourth div, pass it to getSize(..) and print out the data
     **/
    var fourthDiv = createDiv(),
    spanFour = document.createElement('span');
    fourthDiv.style.backgroundColor = 'blue';
    fourthDiv.style.margin = '10px';
    fourthDiv.style.padding = '10px';
    fourthDiv.style.border = '10px solid black';
    content.appendChild(fourthDiv);
    // get the size of the div, can be reached later with divSize.x and divSize.y
    divSize = getSize(fourthDiv);
    spanFour.innerHTML = '(border: 10, margin: 10, padding: 10)<br>offsetWidth: ' + divSize.osWidth + ' X ' + divSize.osHeight + 'px<br>clientWidth: ' + divSize.clWidth + ' X ' + divSize.clHeight + 'px<br>Pos left: ' + divSize.posLeft + 'px, Pos Top: ' + divSize.posTop + 'px';
    content.appendChild(spanFour);
    

    console.log('Sandbox is ready!');
}());