<!-- begin snippet: js hide: false -->

<!-- language: lang-js -->


    var GRAVITY = 0.08;
    var SPEED = 1; //1 is fastest
    var dx = [];
    var dy = [];
    var maxX = window.innerWidth;
    var maxY = window.innerHeight;
    var all = [];// = document.getElementsByTagName("*:visible");
    var positions = [];
    var widths = [];
    var heights = [];

    function drop() {

        $("*").each(function(index) {
    		all.push(this);
    		positions.push($(this).offset());
    		widths.push($(this).width());
    		heights.push($(this).height());
        });
      
        for(var i=0; i < all.length; i++) {
    		all[i].style.position = "fixed";
    		all[i].style.top = positions[i].top+"px";
    		all[i].style.left = positions[i].left+"px";
    		dx[i] = Math.random() * 4 - 2;
    		dy[i] = Math.random() * 1;
        } 
      
        setInterval(mainLoop, SPEED);
    }

    function mainLoop() {
    	for(var i=0; i < all.length; i++) {
    		dy[i] += GRAVITY;
    		positions[i].top += dy[i];
    		positions[i].left += dx[i];
    		if(positions[i].left < 0) dx[i] *= -1;
    		if((positions[i].left + all[i].offsetWidth) > maxX) dx[i] *= -1;
    		if(positions[i].top > (maxY - all[i].offsetHeight)) dy[i] *= -1;
    		
    		all[i].style.left = positions[i].left+"px";
    		all[i].style.top = positions[i].top+"px";
    	}
    }

    drop();

<!-- language: lang-html -->

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    <html>
      <body>
    <div style="border-style: solid; border-width: 5px; border-color:red;">Test</div>
      </body>
    </html>

<!-- end snippet -->