2013-07-26 90 views
5

我想掛鉤一些jQuery到我的導航,淡入和淡出頁面包裝當有人點擊主導航鏈接。代碼本身工作正常,只是有2個問題:jQuery淡入頁面加載

  • 有在beggining閃光喜歡它裝載的一切,刪除它,然後 淡出它(不知道這是相關的CSS)。
  • 鏈接被破壞。例如:當您單擊「聯繫人」,而不是 要去www.domain.com/contact它去 www.domain.com/undefiend

任何幫助將是巨大的。謝謝!!

JS

$(document).ready(function() { 
    $('#page-wrap').css('display', 'none'); 
    $('#page-wrap').delay(500).fadeIn(1000); 

    $('.menu-item').click(function(event) { 
     event.preventDefault(); 
     newLocation = this.href; 
     $('#page-wrap').fadeOut(1000, newpage); 
    }); 

    function newpage() { 
     window.location = newLocation; 
    } 
}); 

的NAV(使用WordPress)代碼

<div id="nav_wrap"> 
    <div id="nav"><?php wp_nav_menu(array('theme_location' => 'header-menu',)); ?></div> 
</div> 
+0

做鏈接工作在此之前?這聽起來像你的href從一開始就是錯誤的,這並沒有改變任何事情。 – Jordan

+0

你可以發佈的代碼是「聯繫」嗎? – Sergio

+0

雅,如果我刪除JS上的部分導航工作得很好。當你懸停在底部鏈接(鉻),它告訴你的鏈接是正確的,但點擊時,它會去「未定義」 – Packy

回答

8

HTML:

<div id="page-wrap" style="display: none;"> 
    ... 
</div> 

的jQuery:

$(document).ready(function() { 
    $('#page-wrap').delay(500).fadeIn(1000); 

    $('.menu-item').click(function(event) { 
     event.preventDefault(); 
     var newLocation = this.href; 
     $('#page-wrap').fadeOut(1000, function() { 
      window.location = newLocation; 
     }); 
    }); 
}); 
+1

謝謝,這完全適用於閃爍。很好很簡單。 – Packy

+0

Boa resposta +1 – Sergio

+0

@Packy太棒了! – falsarella