index.html 2.08 KB
<!DOCTYPE html>
<html>
<head>
    <style>
        html, body {
            height: 100%;
        }

        #aligner {
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #container {
            width: 50%;
            height: 50%;
            background: #FF9800;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            position: relative;
        }

        #dimensions {
            font-size: 3em;
            color: #FFF;
        }

        #dim-x, #dim-y {
            color: #263248;
        }

    </style>
</head>
<body>
    <div id="aligner">
        <div id="container">
            <div id="dimensions">
                <span id="dim-x"></span>x<span id="dim-y"></span>
            </div>
        </div>
    </div>

    <script src="../node_modules/jquery/dist/jquery.min.js"></script>
    <script src="../build/element-resize-detector.js"></script>
    <script>
        $(function onDomReady() {
            function updateDimensions(element) {
                var style = getComputedStyle(element);
                var width = parseInt(style.width);
                var height = parseInt(style.height);
                $("#dim-x").html(width);
                $("#dim-y").html(height);
            }

            var container = $("#container");

            var erd = elementResizeDetectorMaker({
                strategy: "scroll",
                callOnAdd: true,
                debug: true
            });
            erd.listenTo(container, updateDimensions);

            container.click(function onContainerClick() {
                function rand(min, max) {
                    return Math.floor(Math.random() * (max - min + 1)) + min;
                }

                var width = rand(30, 90);
                var height = rand(30, 90);

                $(this).css({
                    width: width + "%",
                    height: height + "%"
                });
            });
        });
    </script>
</body>
</html>