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>


问题是这仅在触发滚动功能时才有效。因此,我一直在尝试执行以下操作,并且我需要帮助才能使其正常工作,以便当有人直接链接到哈希标签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。出于某种原因,这不起作用,任何人都可以帮我让它工作吗?在此先感谢您的时间!我希望这是有道理的,很难解释。

4

1 回答 1

0

我会搭载您现有的功能。在页面加载时触发导航上的点击事件。

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

换句话说。单击您的导航已经有效,您可以重复使用该功能。

于 2012-04-17T03:30:01.967 回答