JS Fehlermeldung – Hilfe benötigt

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,

kann mir irgendwer bei der Fehlermeldung weiterhelfen?
Uncaught Error: Synrax error, unrecognized expression

Den angeblichen Syntaxfehler muss ich hier drinnen haben:
Javascript:
    $('a[href*=#]').on('click', function(scrollEvent) {
        scrollEvent.preventDefault();
        var target = $(this).attr('href');

        $('html,body').animate({
            scrollTop: $(target).offset().top
        }, 2000 , function (){location.hash = target;});
    });
Ich find den Fehler aber nicht. In JSBin funktioniert das Script auch ohne Fehlermeldung.
https://jsbin.com/hufima/7/edit?html,css,js,output

Viele Grüße
 
Ich erhalte überhaupt keine Fehlermeldung in der lokalen Testseite, die ich aus Deinem JSBin-Demo zusammengeführt habe.
 
Mmh.

Ich hab hier auf meinem Mac unter Chrome, Firefox und Safari die Fehlermeldung in der Konsole.
Ich war heute bei einem Freund und habe dort die Webseite unter Windows 10 mit IE und Chrome ausprobiert. Dort ist der Fehler auch aufgetaucht.
Warum der bei dir nicht auftaucht weiß ich jetzt ehrlich auch nicht.
Wie ich solche Fehler hasse :).

Der IE hat mich direkt auf den Bereich
Javascript:
scrollTop: $(target).offset().top
verwiesen. Habe ich dort was falsch geschrieben?
Kann es sein das er auf die Variable target keinen Zugriff hat?

Grüße
 
Hallo,
nach einigem Lesen auf Stackoverflow scheint es das mein Problem aus dem
Javascript:
var target = $(this).attr('href');
resultiert.
Be idem Auslesen des href wird die ganze URL weitergegeben und ich benötige jedoch nur den Hash der URl.
Mit dieser abgewandelten Version
Javascript:
    $('a[href*=#]').on('click', function(event) {
        event.preventDefault();
        var href = this.href,
              target = href.slice(href.lastIndexOf("#"));
     
       console.log(target);
     
        if( target.length ) {
            $('html, body').animate({
                scrollTop: $(target).offset().top
            }, 1000, function (){location.hash = target;});
        }
    });
funktioniert es.

Viele Grüße
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück