フローティングメニューのベストバージョン

初期状態は、ヘッダーの下のサイドバーに表示される。
ヘッダーが見えなくなると、フローティング開始。
これが一番自然でベストだと思う。

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/start/jquery-ui.css" type="text/css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script type="text/javascript" src="//www.softel.co.jp/blogs/tech/wordpress/wp-content/themes/sfm/js.php"></script>
<script>$(function(){$("#source-viewer").text($("#source").html());});</script>
<script id="source">
$(function(){
    var o = $("#menu_left");
    var offset = o.offset();
    var topPadding = 30;
    $(window).scroll(function() {
        if ($(window).scrollTop() > offset.top) {
            o.stop().animate({
                marginTop: $(window).scrollTop() - offset.top + topPadding
            });
        } else {
            o.stop().animate({
                marginTop: 0
            });
        };
    });
});
</script>