Este código funcionaba bien hasta que fui a Firefox 4 y ahora se requieren dos clics en la misma imagen para que el cambio de tamaño funcione. ¿Alguna idea? Aquí está el código.jQuery en Firefox 4
$(document).ready(function(){
$("#slideShow a").click(function() {
var imgTitle = $(this).children('img').attr('title'); // Find the image title
$("#thecap").html(' ' + imgTitle + ' ');
$("#lgImage").attr('src', $(this).children('img').attr('rel'));
$(".resizeme1").aeImageResize({ height: 372 });
});
});
Aquí está el código del complemento en caso de que alguien vea algo en él.
(function($) {
$.fn.aeImageResize = function(params) {
var aspectRatio = 0
// Nasty I know but it's done only once, so not too bad I guess
// Alternate suggestions welcome :)
, isIE6 = $.browser.msie && (6 == ~~ $.browser.version)
;
// We cannot do much unless we have one of these
if (!params.height && !params.width) {
return this;
}
// Calculate aspect ratio now, if possible
if (params.height && params.width) {
aspectRatio = params.width/params.height;
}
// Attach handler to load
// Handler is executed just once per element
// Load event required for Webkit browsers
return this.one("load", function() {
// Remove all attributes and CSS rules
this.removeAttribute("height");
this.removeAttribute("width");
this.style.height = this.style.width = "";
var imgHeight = this.height
, imgWidth = this.width
, imgAspectRatio = imgWidth/imgHeight
, bxHeight = params.height
, bxWidth = params.width
, bxAspectRatio = aspectRatio;
// Work the magic!
// If one parameter is missing, we just force calculate it
if (!bxAspectRatio) {
if (bxHeight) {
bxAspectRatio = imgAspectRatio + 1;
} else {
bxAspectRatio = imgAspectRatio - 1;
}
}
// Only resize the images that need resizing
if ((bxHeight && imgHeight > bxHeight) || (bxWidth && imgWidth > bxWidth)) {
if (imgAspectRatio > bxAspectRatio) {
bxHeight = ~~ (imgHeight/imgWidth * bxWidth);
} else {
bxWidth = ~~ (imgWidth/imgHeight * bxHeight);
}
this.height = bxHeight;
this.width = bxWidth;
}
})
.each(function() {
// Trigger load event (for Gecko and MSIE)
if (this.complete || isIE6) {
$(this).trigger("load");
}
});
};
})(jQuery);
¿Puedes ir a una máquina que tenga FF3 y ver si el código todavía funciona? – webdad3
Funciona en FF3, también en safari, Chrome, es decir, 7, es decir, 8, (no sé si es 6 o 9) – user520300
¿Qué versión de jQuery estás usando? – webdad3