jquery ui draggable嵌套比例容器

时间:2016-06-16 15:48:36

标签: javascript jquery jquery-ui scale jquery-ui-draggable

我试图拥有一个位于2个缩放元素内的可拖动元素,我有一个演示小提琴: http://jsfiddle.net/MAEvS/671/

$( "#draggable" ).draggable({
            start: function(ev, ui) {


                scale_factor = 2;



                ui.position.left = 0;
            ui.position.top = 0;
            },
            drag: function(ev, ui) {

                console.log(ui.position)
                var changeLeft = ui.position.left - ui.originalPosition.left;
                var newLeft = ui.originalPosition.left + changeLeft / scale_factor;

                var changeTop = ui.position.top - ui.originalPosition.top;
                var newTop = ui.originalPosition.top + changeTop / scale_factor;

                // apply
                ui.position.left = newLeft;
                ui.position.top = newTop;

        console.log(ui.position)

            },
})

正如您所看到的那样,我可以覆盖draggable中拖动回调中的值来正确计算位置(除以比例因子)

但是当我有一个类似于演示的案例时 - 它没有按预期工作。

1 个答案:

答案 0 :(得分:0)

确定!所以这比我想象的要简单,只需将两个比例值相乘,我就可以了。

因此scale_factor在演示中应为2 * 2.

(父容器按2缩放,嵌套的容器也按2缩放。)

Working fiddle:

http://jsfiddle.net/MAEvS/672/