Можно загрузить заранее в блок, кнопку сделать контейнером для блока с картинкой. Блоку задать максимальную высоту в 0, а для "контейнер:hover > блок" ставить максимальную высоту over 9000. Затем сдобрить это переходами и transition-delay в over9000.
По нажатию на кнопку стиль вложенного блока с картинкой меняется с нулевой высоты до нормальной, а transition-delay удерживает высоту даже после смены фокуса с кнопки на другой элемент.