function fixedZoom (x,y) {
var top = getHeight / height;//zoom
var left = getWidth / width; //zoom
var centerX = elem.width()/2;//центр по Х
var centerY = elem.height()/2;//центр по Y
x = x - coord_elem.left;//координаты мыши относительно блока по X
y = y - coord_elem.top;//координаты мыши относительно блока по Y
x = centerX - x;
y = centerY - y;
console.log(x*left)
wrapper.css({
top: style().top + y*top + 'px',
left: style().left + x*left+'px'
})
}
style().left/top
это значение left/top для wrapper
y/x координаты курсора
я твой алгоритм вроде частично понял (как то запутано написано
), но не пойму что именно у меня не так