Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] jQuery - Lightbox

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] jQuery - Lightbox

    Hallo,
    ich versuche gerade eine einfach Lightbox selber zu machen, doch ich habe ein Problem beim Schließen.

    Hier mein Code:
    Code:
    <script type="text/javascript">
    jQuery(document).ready(function() {
    	jQuery('a').click(function() {
    		if(jQuery(this).attr('rel') == 'lightbox') {
    			jQuery('body').append('<div id="lightbox_back"><div class="lightbox_cross" title="Schlie&szlig;en"></div><table width="100%" height="100%"><tr><td align="center" valign="middle"><img src="'+jQuery(this).attr('href')+'" /><div class="lightbox_title" style="width: '+jQuery('#lightbox_back').find('img').width()+'px; margin-top: -30px; padding: 5px; background-color: #000000; opacity: 0.8; color: #FFFFFF; position: relative; display: none;">'+jQuery(this).attr('title')+'</div></td></tr></table></div>');
    			jQuery('#lightbox_back').show().animate({opacity: '1'}, 500, function() { jQuery('#lightbox_back img').fadeIn('fast'); });
    			setTimeout('jQuery(\'#lightbox_back .lightbox_title\').fadeIn(\'slow\')', 1000);
    			return false;
    		}
    	});
    
    	jQuery('.lightbox_cross').click(function() {
    		jQuery('#lightbox_back').remove();
    		alert('Es funktioniert');
    	});
    });
    </script>
    Das öffnen funktioniert auch aber halt das Schließen nicht. Wenn ich also auf den Div mit der Klasse "lightbox_cross" klicke, soll sie wieder geschlossen werden, es passiert aber nichts.

    mfg Willfri

  • #2
    Ja.

    Kommentar


    • #3
      Zitat von nikosch Beitrag anzeigen
      Ja.
      Was "ja"?

      Ich möchte wissen wo der Fehler ist, bitte!

      Kommentar


      • #4
        Schön und gut.
        1. hast Du keine Frage gestellt.
        2. „Hier macht mal“ ist hier nicht drin.
        3. Willst Du das Rad unbedingt neu erfinden. Da darf man dann wohl auch erwarten, dass Du zumindest die ersten Schritte der Fehlersuche auch aktiv unterstützt. Welche Schritte des Debuggings erfolgt sind, lese ich hier mit keiner SIlbe.

        Kommentar


        • #5
          Man kann sich ja wohl denken, worum es bei meinem Problem geht. Trotzdem nochmal: "Weis jemand, wo der Fehler liegt, das er Zeile 12 nich ausführt?"
          Ich habe schon nach Fehlern gesuch aber Keinen gefunden. Wenn ich in Zeile 12 das "'.lightbox_cross'" in "document" ändere, geht es ja.

          Kommentar


          • #6
            Tja, vermutlich daran, dass zum Zeitpunkt der Scriptausführung dieses DOM-Element noch gar nicht existiert. Deine setTimeout-Umsetzung ist auch sehr fragwürdig und erst recht Deine Einstellung hier.
            Man kann sich ja wohl denken, worum es bei meinem Problem geht
            Forenrichtlinien

            Kommentar


            • #7
              Ok, entschuldigung, wenn ich mich daneben benommen habe.
              Das mit dem setTimeout hab ich schon weg gemacht.
              Trotzdem verstehe ich das jetzt noch nicht, wo der fehler ist, enschuldigung das ich so blind bin

              Kommentar


              • #8
                So, habs jetzt anders gelöst, und zwar durch ein onclick Event.

                Kommentar


                • #9
                  ('a').click erzeugt erst das X-Element. Und zwar erst, wenn der User was klickt. Folglich kann der andere Code gar kein Event an das X zuweisen, weil die Ausführung onDOMReady, also bevor der User auch nur etwas klicken kann, bereits erfolgt (ist).
                  Der Ausweg ist, das click-Event bei der Erzeugung mit anzulegen. Ein Inline-Attribut ist da eher die veraltete Variante.

                  Dass
                  PHP-Code:
                      jQuery('a').click(function() {
                          if(
                  jQuery(this).attr('rel') == 'lightbox') { 
                  Bei jedem Klick auf Deine Website ausgeführt wird, ist Dir aber auch klar ja? Warum benutzt Du nicht gleich nen passenden Selktor für rel="lightbox"?

                  Kommentar

                  Lädt...
                  X