• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Navbar Active-class wird nicht gesetzt!

Jakob2000

Neues Mitglied
Hallo,

ich habe vor einiger Zeit eine one-page erstellt. Wenn man in der Navbar auf einen Menüpunkt klickt scrollt die Seite zu der entsprechenden Stelle und der Menüpunkt wandert mit so das immer die aktuelle Stelle auch beim eigenständigen scrollen aktiv ist. Heute habe ich bemerkt das dies auf einmal nicht mehr funktioniert. Ich finde den Fehler einfach nicht! In der mobilen Version klappt alles! Noch dazu zu sagen ist, dass die Seite mit Bootstrap erstellt wurde. Ich habe nichts geändert und die CDN's sind auch alle verfügbar! Ich packe euch mal die gleiche Seite, die ich zum testen verwendet habe, auf der noch alles funktioniert mit rein.

Test Seite: http://test.webdesign-jh.de/op
Seite bei der es nicht funktioniert: http://bendernetwork.de
 
Werbung:
Sind die beiden Seiten exakt identisch? Ich habe gerade keine Lust den gesamten Quellcode zu vergleichen
 
k.A. wie .active auf der anderen Seite gesetzt wurde. Aber der Event-Handler ist hier definiert. Wenn da zwei Zeilen JS hinzugefügt werden, funktioniert es wieder.

Code:
$(function() {
        $('.page-scroll a').bind('click', function(event) {
            var $anchor = $(this);
            $('html, body').stop().animate({
                scrollTop: $($anchor.attr('href')).offset().top
            }, 1500, 'easeInOutExpo');
            event.preventDefault();
        });
    });
 
Werbung:
k.A. wie .active auf der anderen Seite gesetzt wurde. Aber der Event-Handler ist hier definiert. Wenn da zwei Zeilen JS hinzugefügt werden, funktioniert es wieder.

Code:
$(function() {
        $('.page-scroll a').bind('click', function(event) {
            var $anchor = $(this);
            $('html, body').stop().animate({
                scrollTop: $($anchor.attr('href')).offset().top
            }, 1500, 'easeInOutExpo');
            event.preventDefault();
        });
    });

Aber es hat doch vorher auch funktioniert und bei der Testseite funktioniert es auch! Ich kann mir das absolut nicht erklären! Die Datein wurden nicht geändert und bei der anderen Seite funktioniert es auch! Sry aber für mich ist sowas einfach unlogisch... weis echt nicht mehr weiter!
 
Zumindest Domain und location.path haben sich geändert. Aber das Problem ist zu trivial, als dass es sich lohnen würde, nachzuforschen, warum das nicht funktioniert. Einfach
Code:
$('.page-scroll').removeClass('active');
$(this).closest('.page-scroll').addClass('active');
hinzufügen und fertig.
 
Zumindest Domain und location.path haben sich geändert. Aber das Problem ist zu trivial, als dass es sich lohnen würde, nachzuforschen, warum das nicht funktioniert. Einfach
Code:
$('.page-scroll').removeClass('active');
$(this).closest('.page-scroll').addClass('active');
hinzufügen und fertig.

Da hast du recht! Wäre trotzdem schön wieso es nicht mehr funktioniert schließlich hat es auf der Domain und exakt der gleichen seite vor ein Paar Tagen noch funktioniert. Leider funktioniert die Funktion die du oben rein geschrieben hast bei mir nicht. :(
 
Werbung:
Klar funktioniert es. Hatte es auf deiner Seite in der Konsole ausprobiert. Du musst allerdings meine beiden obigen Posts zusammenbringen.
 
Es ist echt zum heulen! Will mich jemand veralbern oder hat meinen Server gehackt?! Auch meine Website (webdesign-jh.de) funktioniert auf einmal nicht mehr! Wie kann sowas denn sein?! Zwei funktionierende Websites innerhalb von einer Woche plötzlich nicht mehr voll funktionsfähig?! Das kann einfach nicht sein!
 
Werbung:
Abend,

es liegt keinesfalls an den Websites! Es liegt anscheinend an meinem Server bzw. an den Diensten. Ich benutze Frxlor und bin auch sehr zufireden damit doch wie kann es denn plötzlich zu solch massieven Problemen kommen?
 
Also ich würde erstmal zusehen, dass du aus deinen Websiten die ganzen Fehler rausbekommst:

https://validator.w3.org/nu/?doc=http://webdesign-jh.de/
https://validator.w3.org/nu/?doc=http://test.webdesign-jh.de/op/
https://validator.w3.org/nu/?doc=http://bendernetwork.de/

Dann empfehle ich dir, sämtliche Script-Elemente vor das schließende Body-Tag zu packen. Verbessert die Ladezeiten, da der Browser nicht erst sämtliche Skripte parsen muss um die Seite zu rendern.

Bzgl. deines Server wirst du dich höchstwahrscheinlich mal auf die Kommandozeile runterbegeben müssen und mal rkhunter (Debian vorausgesetzt "aptitude install rkhunter" und danach "rkhunter --check" ausführen) durchlaufen lassen. So kannste zumindest feststellen ob du dir ein Rootkit oder ähnliches eingefangen hast. Im Anschluss empfehle ich dir alle relevanten Logfiles unter /var/log durchgehen und nach verdächtigen Aktivitäten in den letzten Tagen ausschau halten, wenn du begründeten Verdacht hast, dass dein Server manipuliert wurde.

Davon abgesehen hoffe ich, dass sämtliche deiner Panele (Forxlor & falls vorhanden phpMyAdmin, Roundcube, etc.) einerseits über HTTPS und andererseits über einen anderen Port als 80 erreichbar sind. Webpanele die Zugriff auf Serverdienste haben betrachte ich grundsätzlich als potentielle Einfallstore und setze sie daher privat nicht ein und empfehle deren Einsatz auch nicht, solange man auch ohne auskommen kann.

Grüße
 
Zurück
Oben