Я вижу проблему, которую вы описываете. На самом деле я не думаю, что это кеш браузера, но время загрузки ... Я видел проблему и на некоторых других сайтах, и поэтому сформировал (плохо информированное) мнение об этом.
Похоже, что основная проблема заключается в том, что браузеру задают вопрос о размере изображения, прежде чем он узнает, что это такое ... Ваш скрипт запускается на $(document).ready
, но это может произойти до полной загрузки $("ul#grid li img")
, поэтому для некоторые изображения $("ul#grid li img").width()
могут быть неизвестны ...
Может быть, использовать это вместо этого, и посмотреть, помогает ли это? (переключатели $().each
для $().load
)
$("ul#grid li img").load(function() {
var width = $(this).width() / 125 + "em";
var height = $(this).height() / 125 + "em";
$(this).css("width",width);
$(this).css("height",height);
})
(Полностью предположение, хотя ...)
Приложение: читая справку jQuery по функции загрузки только что, кажется, что она не запускается для вещей, уже загруженных к тому времени, когда это вызывается ... Так что вам, возможно, придется сделать и то, и другое (вызов $().each
и установите $().load
) ...