這是我如何完成這一個客戶端站點:
的JavaScript(使用jQuery):
if(!$.browser.msie || ($.browser.msie && $.browser.version > 6)){
$('body').append('<div id="listener" rel="generated"> </div>');
$(window).scroll(function() {
if($('#listener').offset().top > 150){
$('body:not(.fixmenu)').addClass('fixmenu');
}else{
$('body.fixmenu').removeClass('fixmenu');
}
});
}
CSS:
#listener{
position: fixed;
top: 0;
right: 0;
height: 1px;
width: 1px;
}
#page #submenu{
position: absolute;
top: 85px;
z-index: 3;
}
.fixmenu #submenu{ position: fixed; }
該技術:在頁面右上角動態生成一個固定位置的不可見「偵聽器」div。如果該聽衆在頁面頂部爲150像素(或插入您的任意數字)或更多,請將「fixmenu」類添加到<body>
。從這裏,使用CSS將菜單的位置從絕對變爲固定。
由於IE6不支持固定位置,我選擇排除它。
好東西,非常感謝! – stukerr 2009-07-28 12:55:11