2012-04-17 57 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