visibility: hidden
скрывает элемент и не оставляет перемещаемой поверхности, поэтому никогда не будет инициировано событие hover
.
Попробуйте opacity: 0
(или даже opacity: 0.00001
, прямо сейчас не уверены, остается ли поверхность с 0
), чтобы получить желаемый эффект. Обратите внимание, что IE <8 требует специальной обработки (<code>filter: alpha(opacity=0))
Другие браузеры также нуждаются в других настройках opacity
, см. Ссылку @Nick Craver для получения полного списка.