jquery: ширина изображения на domready или загрузить? - PullRequest
1 голос
/ 16 декабря 2010

Эй, ребята, Я использую метод jquery data () для хранения ширины изображений.

Когда jquery может получить ширину изображений. готовые к работе или готовые к загрузке? Нужно ли загружать изображения для запроса его ширины, или я могу также запросить ширину на domready?

спасибо

это мой кусок кода:

    //Save the original image width
    $(".post-body img").each(function() {  
        $(this).data('width', $(this).width());
    });

Ответы [ 2 ]

3 голосов
/ 16 декабря 2010

Зависит от того, что если указывает ширину, то DOM ready работает нормально.Если вы зависите от ширины, исходящей от самого изображения, вам нужно проверить его после загрузки, используя window.onload, который срабатывает после загрузки изображений, например:

$(window).load(function() {
  var w = $("img").width();
});
0 голосов
/ 16 декабря 2010

Если все ваши изображения появляются, когда страница загружается, и вы уверены, что ни одно из них не будет загружено после (в результате вызовов ajax или чего-то еще), ответ Ника будет работать нормально.В противном случае это немного сложнее.Вот событие, к которому я привязываю событие загрузки изображения для таких случаев:

https://github.com/peol/jquery.imgloaded/pull/4#diff-0

Это все еще в стадии разработки, поскольку это сложная проблема ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...