jQuery UI Перетаскиваемый вывод дает два разных числа

Я работаю над проектом, где мне нужно иметь функцию масштабирования. Затем пользователь сможет перетаскивать зум вокруг изображения продукта.

В моей реализации, когда вы перетаскиваете зум вокруг, изображение мерцает. Я пришел к выводу, что это связано с выводом jQuery двух чисел. Как я могу это исправить?

Это мой код:

imgZoom.draggable({
    drag:function(e, ui){
      var y = ui.position.top;
      var x = ui.position.left;
      //x = Math.floor(x);
      //y = Math.floor(y);
      var topZoom = parseInt(imgZoomImg.css('top'));
      var leftZoom = parseInt(imgZoomImg.css('left'));
      imgZoomImg.css({
        top:(-y*6) - topZoom,
        left:(-x*6) - leftZoom
      })
      console.log(topZoom)
    },
    containment:'.product-view-degree'
  });

Это вывод из консоли:

default.js:109 -153
default.js:109 -429
default.js:109 -147
default.js:109 -423
default.js:109 -141
default.js:109 -417
default.js:109 -135
default.js:109 -411
default.js:109 -129
default.js:109 -405

Редактировать: я поднял его на jsfiddler сейчас: http://jsfiddle.net/640pfoq0/

Изменить: После некоторой помощи от друга, мне удалось переписать его:

imgZoom.draggable({
    drag:function(e, ui){
      e.stopPropagation();

      var x = parseInt(imgZoom.css('top')) + 75;
      var y = parseInt(imgZoom.css('left')) + 75;


      imgZoomImg.css({
        top:(-x*3)+75,
        left:(-y*3)+150
      })

    },
    containment:'.product-view-degree'
});

0 ответов

Другие вопросы по тегам