• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Script wird nicht immer ausgeführt.

tryosx

New member
Hey zusammen,

das hier wird meine Homepage:

Meine Homepage

Alles funktioniert gut. (Beim klick auf ein Bild erscheint eine Lightbox). Doch sobald man im Menü auf einen anderen Reiter klickt und wieder zurück zu "Bilder" geht, kann man das Bild nicht mehr anklicken (Die Lightbox öffnet sich nicht mehr).

Woran kann das liegen ?

Mfg,
ich
 
Zuletzt bearbeitet:
Du musst nach dem Wechsel die lightbox neu initialisieren oder du registrierst den onclick-Eventlistener für die <img> nicht direkt dort sondern auf dem document - machst also Event-Delegation.
 
Vielen Dank habs jetzt mit der ".on()" funktion hinbekommen :)

Nur noch eine kleine Frage. Wenn ich das Script so anpasse, passiert nichts, bis ich das element mit der maus anklicke, es soll aber ohne mausklick funktionieren.

Habe es schon mit .focus versucht, aber ohne erfolg :(

Code:
$(document).on("keypress","#lightbox", function(e) {
if(e.keyCode == 27){
$('#lightbox').fadeOut(500,function(){
$('#lightbox').remove();
});
$('#lightboxcontent img').css('display','none');
}
});
 
Danke für den Hinweis :)

Aber das ist gut so :) Es wird nur nicht gescrollt, wenn man sich im Content der Box in der Mitte befindet. Wenn man direkt daneben scrollt klappt alles. Dazu wird noch ein "Scroll me" - Schild eingebaut :D Aber zuerst wollte ich, dass die Grundfunktionen klappen :)
 
Es wird nur nicht gescrollt, wenn man sich im Content der Box in der Mitte befindet. Wenn man direkt daneben scrollt klappt alles.
Stimmt, gerade ausprobiert. Nichtsdestotrotz - so etwas senkt die Usability und erschließt sich nicht von alleine...
 
Hey,

darf ich fragen, welchen Browser du benutzt ?
Ich bekomme nur kleinere fehler zwecks CSS und 2 Fehler wegen einem "Passwortfeld" .. wo auch immer das sein soll.

Ansonsten funktioniert bei mir JS

Mfg
 
Im IE kommt ein fettes "Das Objekt unterstützt diese Aktion nicht.". Datei: tags.js, Zeile: 1, Spalte: 16049
Normalerweise hören Browser beim ersten Fehler sofort auf mit JS.
Von welcher Webseite sprechen wir denn? Ich spreche von http://r3steas.square7.ch/Homepage/public_html und kkapsner wahrscheinlich auch.
 
Bei mir funktioniert's jetzt im FF wieder.

Aber ist dein Problem jetzt gelöst, denn das <img> ist ja jetzt immer da?

PS: Die Frage mit dem nötigen Klick hab' ich nicht verstanden.
 
@mikdoe

öhmm also die Datei gehört nicht zu mir :D

Ja genau. Das ist die richtige Seite.

@kkapsner
mein Problem ist, dass ich die #lightbox mit ESC wegmachen will. Jedoch klappt das nur wenn ich auf der Kompletten Seite den Tastencode mache, und nicht nur auf das spezielle #lighbox div.


Ich habe jetzt:
Code:
$(document).on("keyup", function(e) {
    if (e.keyCode == 27) {
        $('#lightbox').fadeOut(500, function() {
            $('#lightbox').remove();
        });
        $('#lightboxcontent img').css('display', 'none');
    }
});

Doch dieser Code wird auch ausgeführt, wenn die lightbox nicht da ist.

wenn ich aber $(document).on("keyup", '#lightbox', function(e) { nehme, funktioniert das nicht, da die Lightbox nicht "selected" ist
 
@mikdoe
öhmm also die Datei gehört nicht zu mir :D
Doch, sicherlich! Aber du hast es vielleicht nicht selbst programmiert. Musste mal suchen, welcher Code diese Lib einbindet. Der Fehler ist nach wie vor da.
fehler_tag.js.png
Firefox zeigt den Fehler übrigens nicht an. Warum das so ist weiss ich nicht, müsste man sich im Detail anschauen.
 
Doch dieser Code wird auch ausgeführt, wenn die lightbox nicht da ist.
Du könntest mit
Code:
if ($("#lightbox").length){
	...
}
überprüfen, ob das Teil da ist.

Oder du registrierst den Eventlistener nur, wenn die Lightbox offen ist und deregistrierst ihn wieder, wenn du schließt.
 
@mikdoe
ich benutze ausschließlich js Dateien von mir. Ausser die jquery 2.1.1 min.
Ich denke das könnte das Werbungsscript sein von meinem Hoster aus.

@kkapsner
Super! Vielen Dank! Einfach aber nicht gleich eingefalle *schäm* klappt alles Dankeschön :))
 
Zurück
Oben