У меня есть приложение ASP.NET MVC, и я использую два плагина JQuery: colorbox и jcrop.Моя проблема с функцией изменения размера colorbox.После того, как я загружаю содержимое в colorbox, я вызываю функцию resize, чтобы изменить размер colorbox, чтобы лучше соответствовать его содержимому.Это прекрасно работает, за исключением того факта, что сразу после этого я добавляю плагин jcrop в микс.Jcrop немного срабатывает до завершения функции изменения размера colorbox.Из-за этого он искажает данные для jcrop.Это приводит к тому, что инструмент кадрирования прыгает при начальном движении, как в этом примере:
http://jsfiddle.net/Xg84D/12/
Обратите внимание, как в приведенном выше примере селектор кадрирования переходит на начальное движение, как ввопрос:
jQuery Jcrop setSelect показывает визуально, но при нажатии для перемещения он скачет
Единственный способ остановить это - обернуть бит jcropв setTimeout()
и задержите код на 1 секунду, чтобы убедиться, что изменение размера завершено до запуска кода, как в этом примере:
http://jsfiddle.net/Xg84D/13/
Теперь при перетаскивании области обрезкисначала он не прыгает.Использование setTimeout()
- определенно хак, который мне не нравится, поэтому я хотел бы знать, есть ли у кого-нибудь предложения.Если бы только jQuery.colorbox.resize()
принял функцию обратного вызова для своего объекта настроек.
Спасибо!