Попытка # 1
http://jsfiddle.net/DwApF/3/
Это скрывает тень и затем восстанавливает ее после завершения слайда. Это решение проблемы, но это способ, которым можно обойти различные виды поведения.
Попытка # 2
http://jsfiddle.net/DwApF/11/
Выполняет одновременную анимацию как внешнего, так и внутреннего контейнера. Скользит тень без артефактов. Однако вам нужно будет вручную манипулировать высотой внешнего контейнера, а также бороться с сокрытием содержимого внутреннего контейнера. устраняет проблему с артефактами.
Попытка № 3 - мое предпочтительное решение
http://jsfiddle.net/DwApF/12/
При этом все еще используется одновременная анимация обоих внешних / внутренних контейнеров. Я не вижу артефактов в IE9. Он также обрабатывает скрытие содержимого внутреннего контейнера, используя overflow: hidden
.
Размер внешнего контейнера все еще нужно делать вручную, но я думаю, что это адекватное решение. Должен быть способ определения свернутой высоты с помощью jQuery, чтобы не нужно было жестко кодировать это значение.
Это решение работает в IE9, Chrome и Firefox. Обратите внимание, что я добавил несколько цветов / границ, чтобы было легче видеть разные контейнеры.