2009-10-14 66 views
1

我想實現一個全局錨類型的功能。錨標記,要去一個div類的開始w /使用jQuery

我想包括一個鏈接到網頁的主要部分,全球通過輸入到我的header.inc文件。

當您選擇鏈接,它會滾動到頁面的主要部分,這是div類內容體

<div class="content-body"> 
    main content 
</div> 

內所以它會向下滾動到div開始的地方。

我想實現錨定標記功能,但它轉到div類,而不是id。

我想知道是否有辦法用jQuery來做到這一點。爲什麼我想這樣做,是因爲我可以在整個現有網站中全局實施這一點。

+0

好的,那你的問題是什麼? – psychotik 2009-10-14 17:40:34

+0

你可以在你所有的頁面中包含jquery插件還是你想用純jQuery來做到這一點? – 2009-10-14 18:00:03

回答

6

這可能對你有所幫助。

您可以創建一個小函數來實現此行爲。真是有用。你完全避免打開窗戶或模式,以及類似的東西。

function to_position(divid){ 
    $('html, body').animate({scrollTop:$(divid).position().top - 50 }, 'slow'); 
} 

所以,你使用這樣的功能。

to_position('#my_id') 
//or class, or whatever jquery selector 
to_position('.my_class') 
// 
to_position('input[name="lorenzolamas"]') 
2

那麼,傳統上這是通過在元素上使用id屬性並將錨點指向該id來完成的。

<a href="#main">Go to Main Element</a> 

<div id="main"></div> 

散列標記是關鍵,因爲它表示您希望將用戶引導到同一文檔中的某個位置。

當然,這是假設你並不是說附加在主要元素上的類是你唯一的選擇。

+0

我正在尋找一種方法來做到這一點與jQuery,因爲它已經在整個網站中使用div class =「content-body」。 – Brad 2009-10-14 17:47:37

+1

不好意思,我在你說這個之後注意到了jquery標籤。 我發現按類滾動到元素的唯一方法是ScrollTo插件(http://plugins.jquery.com/project/ScrollTo)。 – slant 2009-10-14 18:43:16

+1

看起來你需要做的只是以下內容: $('link-to-body-content')。click(function(){ $ .scrollTo('。content-body'); } ); – slant 2009-10-14 18:47:00