Estoy tratando de cargar una imagen desde un enlace dadoCargar imagen con jQuery y añadirlo a la DOM
var imgPath = $(imgLink).attr('href');
y añadirlo a la página, por lo que puedo insertarla en un determinado elemento para un visor de imágenes. Aunque busqué Stackoverflow y jQuery documentos sin final, no puedo resolverlo.
Después de cargar la imagen, quiero fijar valores diferentes a él, al igual anchura, altura, etc.
Actualización:
Esto es lo que tengo. El problema que tengo es que no puedo ejecutar las funciones de jQuery en el elemento img
.
function imagePostition(imgLink) {
// Load the image we want to display from the given <a> link
// Load the image path form the link
var imgPath = $(imgLink).attr('href');
// Add image to html
$('<img src="'+ imgPath +'" class="original">').load(function() {
$(imgLink).append(this);
var img = this;
// Resize the image to the window width
// http://stackoverflow.com/questions/1143517/jquery-resizing-image
var maxWidth = $(window).width(); // window width
var maxHeight = $(window).height(); // window height
var imgWidth = img.width; // image width
var imgHeight = img.height; // image height
var ratio = 0; // resize ration
var topPosition = 0; // top image position
var leftPostition = 0; // left image postiton
// calculate image dimension
if (imgWidth > maxWidth) {
ratio = imgHeight/imgWidth;
imgWidth = maxWidth;
imgHeight = (maxWidth * ratio);
}
else if (imgHeight > maxHeight) {
ratio = imgWidth/imgHeight;
imgWidth = (maxHeight * ratio);
imgHeight = maxHeight;
}
// calculate image position
// check if the window is larger than the image
// y position
if(maxHeight > imgHeight) {
topPosition = (maxHeight/2) - (imgHeight/2);
}
// x position
if(maxWidth > imgWidth) {
leftPostition = (maxWidth/2) - (imgWidth/2);
}
$(imgLink).append(img);
// Set absolute image position
img.css("top", topPosition);
img.css("left", leftPostition);
// Set image width and height
img.attr('width', imgWidth);
img.attr('height', imgHeight);
// Add backdrop
$('body').prepend('<div id="backdrop"></div>');
// Set backdrop size
$("#backdrop").css("width", maxWidth);
$("#backdrop").css("height", maxHeight);
// reveal image
img.animate({opacity: 1}, 100)
img.show()
});
};
Si quiero obtener propiedades de la imagen, como su altura y su ancho, ¿cómo puedo obtenerlo? '$ ('') .load (function() {var img = $ (this); ...' no parece funcionar. – wowpatrick
¿Podemos dejar de ignorar al elefante en la habitación? ImgPath está mal escrito. Gracias – sq2
@ sq2..hi mate ... revise el elefante 'imgPaht' en la publicación de OP y comente ... thx':) ' – thecodeparadox