2012-11-28 103 views
1

我有一堆錨在我的網站,因爲我使用jquery選項卡並鏈接到它們。不過,當我點擊鏈接時,我想更改錨點在屏幕上的位置。我並不關心它的重點,只要它比現在高得多,而不是直接在主播之上。我需要這樣做,而不使用會破壞網站其他部分的內容,因爲內容全部都是錨點。如何更改錨位置

錨坐在這裏(TAB1是錨):

<div class="tab_container"> 
<div id="tab1" class="tab_content"> 

謝謝!

+0

但TAB1不是錨定,這是一個div。你的意思是「聚焦我的屏幕」?你真的在談論設置頁面的滾動位置嗎? (「焦點」是指哪個控件當前正在響應鍵盤輸入。) – nnnnnn

+0

當您單擊鏈接時,它將重點放在屏幕上而不是選項卡內容上? –

+0

不是,問題在於它正確地將焦點集中在應該在的位置 - 直接位於標籤內容的頂部。但如果可能的話,我希望它把重點放在更高一點。 我以前的問題(我得到解決:))實際上顯示其餘的代碼:http://stackoverflow.com/questions/13560607/linking-to-a-particular-hidden-tab-from-the-current使用 – Samantha9000

回答

2

試試這個:

$(function() { 
    $('a[href^="#"]').click(function(e){   
     e.preventDefault(); 
     $('html,body').scrollTop($(this.hash).offset().top - 50); 
    }); 
}); 

a[href^="#"]選擇將適用於所有a標籤與href屬性,它與#開始。

如果您需要更改要在滾動條上方的錨點上方多遠,請在末尾修改- 50

jsFiddle here

您也可以包裝scrollTop的在animate如果你想花哨頁面滑動;)

$('html,body').animate({scrollTop: ($(this.hash).offset().top - 50)}, 500); 

Slidey jsFiddle here

+0

yay! - 頁面和其他頁面它的作品,並沒有搞砸了 - 謝謝你:) – Samantha9000

+0

沒問題! :d – Elliott