#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.