2017-04-26 6 views
0

Ich habe meinen Kopf gegen die Wand gepeitscht versuchen viele reibungslose Scrolling-Plugins zu arbeiten, warum die Anmelde-Taste wird nicht reibungslos bis zum #target Abschnitt nach unten scrollen.Smooth Scrolling funktioniert nicht richtig

Bitte helfen Hive Geist, ich benutze CSS Tricks Code.

$('a[href*=#]:not([href=#])').click(function() { 
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
    || location.hostname == this.hostname) { 

    var target = $(this.hash); 
    target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
     if (target.length) { 
     $('html,body').animate({ 
      scrollTop: target.offset().top 
     }, 1000); 
     return false; 
    } 
} 
}); 

Sie können den Stift mit allen HTML-CSS und andere js bei

https://codepen.io/samducker/pen/RVoORy

Antwort

1

Abbrechen Code sehen und versuchen diese aus (es ist vielleicht ein bisschen schneller Wechsel es vielleicht bis 500) es könnte ein bisschen laggy sein, wenn Sie so viel Inhalt zwischen dem Knopf und dem Anker haben:

/*Scroll Down Button*/ 
$(function() { 
    $('a[href*="#"]:not([href="#"])').click(function() { 
     if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 
      var target = $(this.hash); 
      target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); 
      if (target.length) { 
       $('html, body').animate({ 
        scrollTop: target.offset().top 
       }, 1000); 
       return false; 
      } 
     } 
    }); 
}); 
+0

Funktioniert ein Leckerbre, wie funktioniert der vorherige Code, den ich verwendet habe, funktioniert auf alle css Tricks Beispiele aber nicht auf meiner Seite funktioniert? –

+0

Ich weiß es nicht. Vielleicht eine Kopie einfügen Problem. Weil du bei deiner Lösung bleiben kannst und einfach änderst ('a [href * = #]: nicht ([href = #])') zu ('a [href * = "#"]: nicht ([href = "# "]) ') – RacoonOnMoon

+0

Ich will nicht gierig sein, aber kannst du die Antwort mit dem grünen Häkchen richtig wählen. Wäre hilfreich ty :) – RacoonOnMoon

0

Ihre jQuery-Selektor scheint falsch zu sein. Daher wird die Klick-Funktion nicht ausgelöst, wenn Sie auf die Schaltfläche klicken und auf ihr Standard-Ankerverhalten zurückgreifen. Ich verzweigte Ihren Codepen und änderte den jQuery-Selektor zu a, siehe: https://codepen.io/anon/pen/VbmNXd

Versuchen Sie, den jQuery-Selektor zu ändern, was für Ihre Anwendung funktioniert.

Verwandte Themen