0

http://2012.delineamultimedia.com/#home_contact

これは少しハッキーだと思いますが、同じことを行うには、このリンクと他のアンカータグが必要です。このリンクに移動すると、固定ナビゲーションがコンテンツをカバーしているため、ページ(セクション)のタイトルがブロックされます...

私はscrolltojQueryプラグインを使用しており、固定ナビゲーションを補正するために、到着時に負のマージントップを与えています...これはその例です...

<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をアクティブ化することです。何らかの理由でこれは機能していませんが、誰かがこれを機能させるのを手伝ってくれますか?よろしくお願いします!これが理にかなっていて、説明するのが難しいことを願っています。

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 に答える