Я обычно делаю это, когда вы кешируете ширину и высоту перед сокрытием, вы все равно можете их использовать.Примерно так:
var dimensions = {width: $(img).width(), height: $(img).height()};
$(img).hide();
Или когда вы не можете сделать это, потому что скрытие и необходимость в значении распределены, вы можете сохранить высоту и ширину в объекте данных
$(img).data('dimensions', {width: $(img).width(), height: $(img).height()});
Затем вы можете получить к ним доступ следующим образом:
$(img).data('dimensions').width;
Вы даже можете убедиться, что все изображения на странице имеют эти свойства данных, используя следующий код:
$(document).ready(function(){
$('img').each(function(){ //embedded images
$this = $(this);
$this.data('dimensions', {width: $this.width(), height: $this.height()});
});
$('img').live('load', function(){ //inserted images
$this = $(this);
$this.data('dimensions', {width: $this.width(), height: $this.height()});
});
});