2012-04-13 6 views
0

Ich habe eine Liste von Daumen und einem großen Bereich, wo ein großes Bild ist. Wenn ich auf jeden Daumen klicke, ändert sich die Quelle des großen Bildes entsprechend dem angeklickten Daumen.jQuery Call-Funktion nach Bildquelle Änderungen

Ich habe auch eine Funktion für die Bildgrößenänderung, die

$('#thumbImg').click(function(){ 
    var newSrc = $(this).attr('src');    
    $('#bigArea img').attr('src',newSrc); 
    resizeImage(); 
}); 

innerhalb der großen Fläche ist, kann ich in der funcion bekommen, weil ich eine Meldung, und es wird jedes Mal, wenn ich auf einem Daumen klicken angezeigt. Aber ich denke, das Problem liegt darin, dass die Funktion die Breite und Höhe des vorherigen Bildes liest. Gibt es eine Möglichkeit, ich kann die Funktion aufrufen, direkt nachdem das Bild geändert wird?

Dank all

+0

Was macht resizeImage? warum übergibt man nicht die neue Breite und Höhe des angeklickten Bildes? –

Antwort

2

Bind die Funktion als .load() Handler.

$('#thumbImg').click(function() { 

    var newSrc = $(this).attr('src'); 

    $('#bigArea img').one('load', resizeImage).attr('src',newSrc); 

}); 

EDIT: Changed .one zu verwenden, so dass der Handler nach einem Klick/Last entfernt wird. Ich denke, Sie könnten auch den Handler einfach zuerst an die #bigArea img binden, so dass er jedes Mal ausgelöst würde, wenn ein neues Bild geladen wird.