<!DOCTYPE html>

<html>
<head>
<style>
    .group {
        display: inline-block;
        position: relative;
        width: 150px;
        height: 500px;
    }
    
    #overflow {
        width: 600px;
        height: 550px;
        overflow: hidden; /* Still scrollable with JS */
        border: 1px solid black;
    }
    
    .spacer {
        float: left;
        width: 10px;
        height: 1200px;
    }
    .container {
        width: 100px;
        height: 400px;
        outline: 2px solid black;
    }
    
    .box {
        width: 100px;
        height: 200px;
    }

    .sticky {
        position: sticky;
        top: 100px;
        background-color: green;
    }
    
    .indicator {
        position: absolute;
        top: 0;
        left: 0;
        background-color: red;
    }

    .big {
        width: 50px;
        height: 300px;
    }
</style>
<script>
    function doTest()
    {
        document.getElementById('overflow').scrollTop = 120;
    }
    window.addEventListener('load', doTest, false);
</script>
</head>
<body>
    <div id="overflow">
        <div class="spacer"></div>
        <div class="group">
            <div class="indicator box" style="top: 200px;"></div>
            <div class="container">
                <div class="sticky box"></div>
                <div class="big"></div>
            </div>
        </div>

        <div class="group" style="top: 100px">
            <div class="indicator box" style="top: 120px;"></div>
            <div class="container">
                <div class="sticky box"></div>
                <div class="big"></div>
            </div>
        </div>

        <div class="group" style="top: 240px">
            <div class="indicator box" style="top: 0;"></div>
            <div class="container">
                <div class="sticky box"></div>
                <div class="big"></div>
            </div>
        </div>
    </div>
</body>
</html>
