2012-04-17 61 views
0

http://2012.delineamultimedia.com/#home_contact錨標籤直接鏈接需要爲忽略

我知道這是一個有點哈克,但我需要這個鏈接和其他錨標籤做同樣的。 當去這個鏈接的頁面(部分)的標題被阻止,因爲固定的導航覆蓋內容關閉...

我使用的scrollto jQuery插件,並給它一個負邊緣頂當它到達,以彌補固定的導航...這裏就是一個很好的例子......

<script type="text/javascript"> 
$(function() { 
    $('ul.nav a').bind('click',function(event){ 
    var $anchor = $(this); 

    $('html, body').stop().animate({ 
    scrollTop: $($anchor.attr('href')).offset().top-139 
    }, 1500,'easeOutBounce'); 

    event.preventDefault(); 
    }); 
}); 
</script> 


問題是,這只是作品scrollto功能被觸發時。所以,我一直在努力做到以下幾點,我需要幫助才能使這個工作,以便當有人直接鏈接到散列標記http://2012.delineamultimedia.com/#home_contact或任何其他人的事情,該網頁知道要下移額外的空間,以便清除導航。

<script type="text/javascript"> 
$(document).ready(function(){ 
function checkHash() { 
    if (location.hash === "#home_contact") { 
     navClick('#home_contact'); 
    } 
    else if (location.hash === "#/index.html") { 
     navClick('index.html'); 
    } 
} 
window.onhashchange = checkHash; 
window.onload = checkHash; 
}); 
</script> 


的這點是激活navItem點擊散列鏈接時。由於某些原因,這是不工作,任何人都可以幫助我得到這個工作?在此先感謝您的時間!我希望這是有道理的,很難解釋。

回答

0

我會搭載您現有的功能。在頁面加載時觸發導航中的點擊事件。

$(document).ready(function(){ 
     switch(location.hash){ 
      case '#home_contact': 
       $('a.contact-nav').trigger('click'); 
       break; 
      default: 
       $('#top_logo a').trigger('click'); 
       break; 
     };  
}); 

換句話說,點擊你的導航已經有效,你可以重複使用該功能。

+0

那麼腳本沒有拋出一個錯誤,但它不工作。 http://2012.delineamultimedia.com/#home_contact – bryanlewis 2012-04-17 14:13:30

+0

我可以這樣做嗎? '<腳本類型= 「文本/ JavaScript的」> $(文件)。就緒(函數(){ 開關(的location.hash){ 情況下 '#home_contact': $( '#home_contact')觸發( '點擊'),CSS( '的margin-top',139); 突破; 默認:。 $( '#home_top')觸發器( '點擊'); 突破; }; }); ' – bryanlewis 2012-04-17 14:54:59

+0

我並不打算把它當作即插即用,只是爲了清楚。你把它放在哪裏?此外,它不是該頁面部分的選擇器,觸發導航本身中的項目點擊。 – Fresheyeball 2012-04-17 18:49:41