2013-07-26 14 views
5

Ich versuche, einige jQuery zu meinem Nav zu haken, um den Seitenwrapper ein- und auszublenden, wenn jemand auf einen Navi-Link klickt. Der Code selbst funktioniert gut, hat aber nur zwei Probleme:jQuery Einblenden der Seite Laden

  • Es ist ein Blitz in beggining wie es alles lädt, entfernt es, dann verschwindet es in (nicht sicher, ob das CSS ist verwandt).
  • Die Links sind kaputt. Zum Beispiel: wenn Sie auf „Kontakt“ statt des Gehens www.domain.com/contact geht es zu www.domain.com/undefiend

Jede Hilfe wäre toll. Vielen Dank!!

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; 
    } 
}); 

Der Code für die Nav (unter Verwendung von Wordpress)

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

das tun Links arbeiten davor? Es hört sich an, als wäre dein href von Anfang an falsch, daran ändert sich nichts. – Jordan

+0

Können Sie den Code posten, der "Kontakt" ist? – Sergio

+0

ya, wenn ich den Abschnitt auf JS entfernen, funktioniert die Navigation ganz gut. Und wenn Sie auf den Links unten (in Chrom) schweben, sagt es Ihnen, dass der Link richtig ist, aber wenn es angeklickt wird, geht es zu "undefined" – Packy

Antwort

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

Danke, das hat für das Flackern perfekt funktioniert. Schön und einfach. – Packy

+0

Boa resposta +1 – Sergio

+0

@Packy Super! – falsarella