Je suis un novice jQuery, donc la réponse à cela peut être assez simple:jQuery - exécution d'une fonction sur une nouvelle image
J'ai une image, et je voudrais faire plusieurs choses avec elle. Lorsqu'un utilisateur clique sur une icône "Zoom", je lance le plugin "imagetool" (http://code.google.com/p/jquery-imagetool/) pour charger une version plus grande de l'image. Le plugin crée une nouvelle div autour de l'image et permet à l'utilisateur de faire un panoramique.
Lorsqu'un utilisateur clique sur une autre image, j'enlève l'ancienne et la charge dans la nouvelle.
Le problème vient quand un utilisateur clique sur une autre image, puis clique sur le bouton de zoom - le plugin imagetool crée le nouveau div, mais l'image apparaît après ...
Le code est le suivant:
// Product Zoom (jQuery)
$(document).ready(function(){
$("#productZoom").click(function() {
// Set new image src
var imageSrc = $("#productZoom").attr("href");
$("#productImage").attr('src', imageSrc);
// Run the imagetool plugin on the image
$(function() {
$("#productImage").imagetool({
viewportWidth: 300,
viewportHeight: 300,
topX: 150,
topY: 150,
bottomX: 450,
bottomY: 450
});
});
return false;
});
});
// Alternative product photos (jQuery)
$(document).ready(function(){
$(".altPhoto").click(function() {
$('#productImageDiv div.viewport').remove();
$('#productImage').remove();
// Set new image src
var altImageSrc = $(this).attr("href");
$("#productZoom").attr('href', altImageSrc);
var img = new Image();
$(img).load(function() {
$(this).hide();
$('#productImageDiv').append(this);
$(this).fadeIn();
}).error(function() {
// notify the user that the image could not be loaded
}).attr({
src: altImageSrc,
id: "productImage"
});
return false;
});
});
il me semble que le plugin imagetool ne peut plus voir l'image #productImage une fois qu'il a été remplacé par une nouvelle image ... Alors, je pense que cela a quelque chose à voir avec une liaison? Comme dans le cas où la nouvelle image est ajoutée au dom après le chargement de la page, le plugin iamgetool ne peut plus l'utiliser correctement ... est-ce exact? Si oui, des idées pour y faire face?
Merci, mais cela ne fonctionne pas non plus ... ont fait la même chose, mais sans doute une meilleure façon de faire ce que je faisais au début. ;) –