菜单的初始位置距窗口顶部有一段距离,当菜单向上滚动到窗口顶部时菜单会悬浮在最顶部,而再向下滚动一定距离时又会恢复原来的位置;
类似于淘宝的这个模块:

解决方案 »

  1.   


    $(window).scroll(function() {
        var menu = $("#menu"); // 你的菜单对象
        var doc =  document.documentElement;
        if(document.compatMode == "BackCompat" || doc.scrollTop == 0) {
            doc =  document.body;
        }
        // 144还有33自己根据页面调整
        if($(doc).scrollTop() > 144 && menu.height() + 33 < $(window).height()) {
            menu.addClass("menu-fixed");
        } else {
            menu.removeClass("menu-fixed");
        }
    });.menu-fixed { position:fixed; top:33px; width:282px; background:#fff; }
    /* IE6 Position Fixed Hack */
    .menu-fixed { _position:absolute; _top:expression(33 + eval(document.documentElement.scrollTop)); }