Heim > Web-Frontend > js-Tutorial > JQuery implementiert einfach ein reibungsloses Scrollen des Ankers links_jquery

JQuery implementiert einfach ein reibungsloses Scrollen des Ankers links_jquery

WBOY
Freigeben: 2016-05-16 16:01:37
Original
1753 Leute haben es durchsucht

Wenn Sie einen Ankerpunkt verwenden, um zu einer bestimmten Position auf der Seite zu springen, springt dieser im Allgemeinen sofort zur angegebenen Position. Manchmal möchten wir jedoch einen reibungslosen Übergang zur angegebenen Position erreichen. Dann können wir dies einfach mit JQuery erreichen Wirkung. :

Hier springen wir beispielsweise zum angegebenen Ort mit der Inhalts-ID, indem wir auf das Tag klicken.

<a id="turnToContent" href="#content"></a>
Nach dem Login kopieren

Dann setzen wir den Inhaltsblock mit der ID als Inhalt an der gewünschten Stelle. Hier wird ein Div verwendet, um einen Artikel zu simulieren, der nicht wie ein Artikel aussieht. Platzieren Sie dieses Div am besten hinten, damit der Effekt deutlicher wird. Wenn Sie diesen Effekt nur testen möchten, können Sie eine einfache und grobe Methode verwenden und viele

-Tags davor platzieren.

<div id="content">
<h2>
<a href="###">HTML5</a>
</h2>
<p>
html5html5html5
</p>
<p class="addMes">标签: <span>HTML5</span><small>2015年4月19日</small></p>
</div>
Nach dem Login kopieren

Schließlich wird JQuery verwendet, um den reibungslosen Übergangseffekt zu erzielen:

$('#turnToContent').click(function () {
$('html, body').animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
return false;
});
Nach dem Login kopieren

Fertig!

Lasst es uns weiter verbessern,

$(function(){  
  $('a[href*=#],area[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) {
        var targetOffset = $target.offset().top;
        $('html,body').animate({
          scrollTop: targetOffset
        },
        1000);
        return false;
      }
    }
  });
})
Nach dem Login kopieren

Der Vorteil des verbesserten Codes besteht darin, dass durch Klicken auf den Ankerlink reibungslos zum Ankerpunkt gescrollt wird und das Browser-URL-Suffix nicht das Wort „Anker“ enthält. Es kann implementiert werden, ohne den obigen Code während der Verwendung zu ändern.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage