2009-07-28 65 views
1

我需要製作一個通常(取決於分辨率)離開頁面可視區域底部的元素,浮動在頁面的底部,並在滾動時按照頁面向下(類似於方式的影響的立場:固定在CSS)。jquery - 如何讓一個元素按照頁面到一個點?

然而,我需要那個元素,然後停下來,當它達到它自然會出現的位置時,保持它的位置。

理想情況下,如果不支持css/js,該元素也應該出現在其「自然」位置。

有關處理此問題的最佳方法的任何想法?任何人都知道現有的jQuery插件可能有幫助嗎?

非常感謝,

斯圖

回答

3

這是我如何完成這一個客戶端站點:

的JavaScript(使用jQuery):

if(!$.browser.msie || ($.browser.msie && $.browser.version > 6)){ 
    $('body').append('<div id="listener" rel="generated">&nbsp;</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不支持固定位置,我選擇排除它。

+0

好東西,非常感謝! – stukerr 2009-07-28 12:55:11

相關問題