JQuery неправильно сообщает ширину нуля - PullRequest
0 голосов
/ 18 июля 2010

Я пытаюсь получить доступ к ширине определенных элементов с помощью функции .width() jQuery, но иногда возвращаемое значение равно 0, когда я этого не ожидаю.Это известная проблема?Должен ли элемент быть видимым, чтобы это работало?Если есть ограничения, как я могу их обойти?

Ответы [ 3 ]

8 голосов
/ 18 июля 2010

Если вы работаете с изображениями, обязательно запустите код в $(window).load() вместо $(document).ready(), например:

$(window).load(function() {
  var width = $("img").width();
});

В противном случае убедитесь, что элемент видим, скрытые элементыне иметь .width() или .height() (для обоих будет возвращено 0).

1 голос
/ 18 июля 2010

Элемент должен быть загружен .. попробуйте привязать его к загрузке окна

$(window).load(function(){  alert('#img').width()   });

Вы также можете попытаться явно определить ширину через css для элемента, который я предполагаю.

0 голосов
/ 18 июля 2010

Вы можете проверить, является ли изображение видимым с этим дополнительным условием

$(window).load(function(){  if($("#img").is(":visible"))alert('#img').width()   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...