2017-02-27 2 views
3

Ich bekomme das nicht, die Seite springt nur auf die ID und nicht mit einer Animation. Auch die Warnung "Klick" wird nicht angezeigt?Mein reibungsloser scrollender js löst die Animation nicht aus?

<script> 
jQuery(document).ready(function($) { 
    alert('start'); 
    $('ul#menu-sde-menu li a[href^="#"]').on('click', function(event) { 
     alert("click"); 
     var target = $(this.getAttribute('href')); 

     if (target.length) { 
      event.preventDefault(); 
      $('html, body').stop().animate({ 
       scrollTop: target.offset().top 
      }, 1000); 
     } 

    }); 
}); 

und ein einfaches Menü

<ul id="menu-sde-menu"><li><a href="http://localhost/testdomain/sde/#link1">link 1</a></li><li><a href="http://localhost/testdomain/sde/#link2">link 2</a></li></ul> 

Ich versuchte zu verwenden https://www.abeautifulsite.net/smoothly-scroll-to-an-element-without-a-jquery-plugin-2

Antwort

1

nicht absolute Pfade http://localhost/testdomain/sde/#link2

einfach Verwenden Sie:

href="#link2" 

(wenn Sie auf der gleichen Seite zu bleiben, planen sowieso, logisch.)

Sie verwenden a[href^="#"] - welche Elemente erhalten, die href Attribut, das beginnt mit^= bedeutet ein # und http:// ist eindeutig nicht eins.

+0

ah ich sehe danke. Ich benutze WordPress und in der Tat habe ich den absoluten Pfad und nicht nur den Anker – alex