2016-12-18 1 views
0

Auf html Seite habe ich mehrere Bilder mit <img onclick="povecaj();" In der Tat, versucht, eine Art Lichtkasten zu machen. Zuerst img klicken Sie nicht arbeiten, zweite Klick gefeuert Funktion und andere img ersten Klick gefeuert Funktion. Aber nach Seite geladen Faust img Klick funktioniert nicht ...img onclick Feuer js Funktion nur zweiter Klick

Funktion ist weiter:

function povecaj() { 

     if (document.readyState === "complete") { 
      if ((screen.width > 801) || (screen.height > 801)) { 
       init(); 
      } 
      else { 
       return; 
      } 
     } 

    } 


    function init() { 
     $(' .card-img img').click(function() { 
      var thediv = document.getElementById('displaybox'); 
      var staza = $(this).attr('src') 
      var sl = document.getElementById('image'); 
      thediv.style.display = ""; 
      sl.innerHTML = '<img alt="2" id="imgID" src="' + staza + '"/>' + '<div class="alert-close" onclick = "zapri()" >X</div>' 
      thediv.innerHTML = '<table style="width:100%; height:100%;"><tbody><tr><td style="text-align: center; vertical-align:central; width:100%; height:100%"></td></tr></tbody></table>'; 
      thediv.style.display = "block"; 
      sl.style = "block"; 

     }); 
    } 

Ich bin in VS2012, arbeiten mit Chrome zu überprüfen .. können Fehler nicht sehen .. Gesucht, gegoogelt, kann keine Lösung finden. Kann jemand helfen?

+0

Sorry, es ist mein erster Beitrag, wie ich sehe, Einige Texte wurden nicht aufgezeichnet. – jastog

+0

Also, mein Problem ist img klicken, auf der Seite geladen ersten Klick nicht fire js Funktion, aber der nächste Klick funktioniert. und danach feuern andere Bilder auf den ersten Klick. – jastog

+0

Funktion 'povecaj()' wird nie geladen –

Antwort

0

Wenn Ihre Bilder dynamisch die DOM Laden Sie ein jquery Event-Listener wie folgt hinzufügen:

function init() { 
     $(class_of_parent_div).on('click', '.card-img img', function() { 
      var thediv = document.getElementById('displaybox'); 
      var staza = $(this).attr('src') 
      var sl = document.getElementById('image'); 
      thediv.style.display = ""; 
      sl.innerHTML = '<img alt="2" id="imgID" src="' + staza + '"/>' + '<div class="alert-close" onclick = "zapri()" >X</div>' 
      thediv.innerHTML = '<table style="width:100%; height:100%;"><tbody><tr><td style="text-align: center; vertical-align:central; width:100%; height:100%"></td></tr></tbody></table>'; 
      thediv.style.display = "block"; 
      sl.style = "block"; 

     }); 
    } 

Und schreiben die Klasse der Eltern div class_of_parent_div

+0

mein bild hat 3 eltern divs! Wie schreibe ich sie in $ ( – jastog

+0

Versuchen Sie, eine von ihnen zu schreiben. – pwnz22

+0

Vielen Dank! Es funktioniert. Ich habe 3 div Klassenname. – jastog