2 votes

Calculer la largeur d'une image en jQuery

J'ai un image qui height es 100% du navigateur et width es auto . La largeur peut donc varier en fonction de l'image et de la résolution de votre écran.

Je veux donc calculer la largeur du navigateur qui n'est pas occupée par l'image.

.main-image img {
    width:auto
}

var winheight = $(window).height() ;

$('.main-image img').css('height', winheight) ;

Je pensais faire quelque chose comme ça, mais ça ne marche pas.

   var findimage = $('.main-image img');
   var imagewidth = findimage.clientHeight;
   console.log("image width is " + imagewidth);

Toutefois, cette returns " image width is undefined ". Que dois-je faire ?

3voto

fedeetz Points 5610

Rappelez-vous qu'une image ne fait pas partie du balisage, et qu'elle doit donc être chargée avant que vous ne puissiez récupérer sa largeur.

$('.main-image img').onload(function () {
    console.log("image width is " + $(this).width());
});

1voto

user2647012 Points 34

Essayez d'utiliser

$('.main-image img').width()
$('.main-image img').height()

et utiliser Offset pour le positionnement à gauche/en haut

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X