Как получить размер изображения в jquery

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

У меня есть простая галерея изображений с другим размером изображения. Я собираюсь получить ширину текущего изображения и присвоить его родительскому div с помощью jquery, но, похоже, у меня не получается заставить его работать. Спасибо за любую помощь.

 var imgWidth = $("#image").width();
$("#gallery").css({ width : imgWidth });
  

Пример HTML:

 <div id="gallery">
 <img src="123.jpg" id="image" />
</div>
  

Ответ №1:

Ваш код кажется нормальным. Но вы можете пытаться, когда изображение еще не было загружено. $(document).ready в данном случае это не помогло бы. Попробуйте это:

 $(window).load(function(){
  var imgWidth = $("#image").width();
  $("#gallery").width(imgWidth);
});
  

Надеюсь, это поможет. Приветствия

Комментарии:

1. Или вы можете выполнить «загрузку» прямо на изображении, не нужно ждать, пока все загрузится таким образом. $("#image").load(function(){})

2. Все еще не могу заставить это работать. jsfiddle . Я новичок в jquery 🙂

Ответ №2:

Вам нужно указать «px»

Вот так:

 var imgWidth = $("#image").width();
$("#gallery").css({ width : imgWidth "px" });
  

Предполагая, что изображение загружается при выполнении вашего javascript, это должно сработать. В противном случае вам придется поместить этот код внутри $(window).load(function(){}); , как говорит Эдгар, или, возможно, даже $("#image").load(function(){}); .

Комментарии:

1. 1 Спасибо rayan. Но я все еще не могу заставить это работать. пожалуйста, взгляните на этот пример кода в jsfiddle .

2. @NL500: Попробуйте этот jsfiddle jsfiddle.net/LtD7q/3 как сказал Джеймс, у вас не был выбран фреймворк jQuery.

Ответ №3:

Ты собираешься ударить себя за это……

Ваш jsfiddle был настроен на использование mootools, а не jQuery.

Вот ссылка на рабочее обновление