JQuery Jcrop setSelect показывает визуально, но при нажатии для перемещения, он прыгает - PullRequest
3 голосов
/ 13 июля 2011

Я использую плагин jQuery Jcrop. У меня проблема с одним из параметров начальной настройки, который называется setSelect.

Свойство принимает массив с двумя наборами координат x и y (верхний левый угол и нижний правый угол).

<img src="blah" id="cropTool" />
<script type="text/javascript">
    $(function()
    {
        $('#cropTool').Jcrop(
        {
            setSelect: [
                $('#cropTool').width()/4,
                $('#cropTool').height()/4,
                ($('#cropTool').width()/4)*3,
                ($('#cropTool').height()/4)*3
            ]
        });
    });
</script>

Визуально это именно то, что я ожидаю. Он помещает выделенную область обрезки с верхним левым углом 1/4 пути в изображение (x и y) и нижним правым углом 1/4 пути в изображение из нижнего правого края изображения. Как это:

http://www.codetunnel.com/content/images/VisuallyFine.jpg

Но потом, когда я иду, чтобы переместить его, он переходит в эту позицию:

http://www.codetunnel.com/content/images/Jumps.jpg

Он тут же прыгает, я его туда не перетаскиваю. Если я пытаюсь перетащить выбор по умолчанию, он переходит после перемещения на один пиксель или более. После того, как он прыгнет, я могу нормально его перемещать Это небольшая проблема, но она раздражает.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Оказывается, другой плагин jQuery, который я использовал, мешал позиционированию jcrop.Плагин под названием colorbox, который загружает всплывающие окна, был проблемой.Я вызывал jQuery.colorbox.resize () прямо перед вызовом jcrop.Когда выполнялся код jcrop, изменение размера никогда не было полностью завершено.Одним из решений было поместить код jcrop в setTimeout(), чтобы задержать код на секунду.Это было хакерское решение, поэтому я задал еще один более конкретный вопрос и получил ответ.Оказывается, еще одна ветвь colorbox содержит исправление, включающее функцию обратного вызова функции для метода изменения размера, чтобы вы могли выполнить код после завершения изменения размера.

Плагин изменения размера плагинов jQuery colorbox

0 голосов
/ 13 июля 2011

Не уверен, что это так, и вы только что сделали копию / вставку из своего источника, но здесь есть опечатка:

$ ('# ropTool'). Height () / 4,

Вероятно, вы ищете $ ('# cropTool'). Height () / 4,

...