jquery .each () теряет значения $ (this) - PullRequest
0 голосов
/ 01 марта 2011

мое значение маржи здесь устанавливается на ноль, и я не понимаю, почему.

$(document).ready(function() {
  $('img.thumbNormal').each(function(){
    $(this).css({'position':'relative', 'left':'50%', 'margin-left':-$(this).width()/2});
  });
});

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

любая помощь будет оценена. спасибо!

1 Ответ

3 голосов
/ 01 марта 2011

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

$(window).load(function() {
    $('img.thumbNormal').each(function(){
        $(this).css({'position':'relative', 'left':'50%', 'margin-left':-$(this).width()/2});
    });
});

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

...