it-swarm.com.de

Blättern Sie zu einem Abschnitt oder Modul

Ja, ich weiß, dass dies zuvor hier gefragt wurde, aber ich kann scheinbar keine Antwort von den vorgeschlagenen Lösungen erhalten. Ich versuche, ein Element in meinem Hauptmenü zu erstellen, um zu einem bestimmten Abschnitt auf meiner Website zu blättern. Der Code, den ich verwende, den ich gerade vor dem Schließen des Body-Tags eingefügt habe, ist wie gezeigt

 
 var $ root = jQuery ('html, body'); 
 jQuery ('# t3-banner'). click (function () {
 var href = jQuery.attr (this, 'href'); 
 $ root.animate ({
 scrollTop: $ (href) .offset (). top 
}, 2000, function () {
 window.location.hash = href; 
}); 
 return false; 
}); 

Der Bereich, zu dem ich scrollen möchte, ist das # t3-Banner. Auf dem Menüpunkt (den ich als externes Menü erstellt habe) habe ich das # t3-Banner im Linkbereich hinzugefügt. Aber es scheint nicht zu funktionieren. Ich bin nicht sehr gut in j Abfrage. Könnte mir bitte jemand hier helfen. Die Seite ist diese und die Speisekarte lässt uns für Sie jagen

2
Paul

Ihr Selektor jQuery('#t3-banner') ist falsch. Dies sollte der Selektor für Ihren <a> Sein, der das Attribut href="#t3-banner" Hat.

Damit würde es funktionieren:

jQuery(document).ready(function($){
    var $root = $('html, body');
    $('a[href^="#"]').click(function(e) {
        // Don't follow the link, orherwise it would jump to section without animation
        e.preventDefault();

        var href = $.attr(this, 'href');
        $root.animate({
            scrollTop: $(href).offset().top
        }, 2000, function () {
            window.location.hash = href;
        });
    });
});

Code muss in jQuery(document).ready sein, da der Ereignis-Listener nur hinzugefügt werden kann, wenn DOM bereit ist.

Es werden alle <a> Elemente ausgewählt, die # In href haben.

HINWEIS: Achtung, es werden ALLE <a> - Elemente auf der ganzen Seite benötigt. Wenn Sie es nur für das Menü wünschen, sollten Sie Ihren Selektor genauer definieren.

Wenn Ihr Menü-Wrapper beispielsweise die ID menu hat, könnte dies jQuery('#menu a[href^="#"]') sein.

Sie können einen Blick auf meine Antwort auf "Wie erstelle ich eine einseitige Vorlage?" Werfen. Vielleicht klärt ein bisschen.

2
Rene Korss