рони, спасибо, попробую применить.
Тут ещё один проблемный скрипт.
Демо
Сворачивает элемент в угол и потом разворачивает его, если нужно.
Схема работы: оборачиваем картинку в див с overflow:hidden, меняем его размеры, координаты, сдвигаем картинку маргинами.
Проблемы две:
1) При движении вниз (corner = 3, 4, 5) картинка заметно дёргается. Хотя принцип вычислений один и тот же, хз откуда эти лишние пиксели берутся. Причём только при движении вниз!
Сначала картинка просто опускалась ниже и ниже, кое-что изменил в коде - добавил unwrapping, т.е. при окончании анимации выкидываем картинку из div-обёртки, а сам див удаляем. Таким образом, картинка встаёт на изначальное место, сдвиги не накапливаются, но картинку всё равно заметно дёргает.
2) Если картинке поставить margin, top, left, то скрипт ломается по понятным причинам.
Пробовал делать переменные типа offsetTop и offsetLeft, суммировать туда значения margin и top/left, и прибавлять всё это к координатам div-обёртки, но это не помогло.