1. Кликаем по картинке, в новом блоке показываем её, только увеличенную например на 500%.
2. Поверх картинки отдельным слоем показываем какой-нибудь прелоадер.
3. Создаем через JS новое изображение, добавляем ему слушатель onLoad
4. Ждем полной загрузки картинки, потом вставляем её в DOM вместо слоя с прелоадером.
5. Profit!
P.S. Если нужно отслеживать время до загрузки то поможет:
stackoverflow.com/questions/22502943/jquery-ajax-p...