Установите jquery panzoom по умолчанию на максимальное уменьшение - PullRequest
0 голосов
/ 19 марта 2019

Как я могу изменить начальное значение увеличения на максимальное уменьшенное значение?В настоящее время он установлен вблизи средней точки.

var init_map = function() {
    var full = 3000;
    var vmax = $map.innerWidth() > $map.innerHeight() ? $map.innerWidth() : $map.innerHeight();
    var s_min = (vmax / full) + .01;
    var s_init = $window.width() < 768 ? s_min + .14 : s_min + .1;
    var s_init = $body.hasClass('is-ipad') ? s_min + .3 : s_init;
    var s_min = parseFloat(s_min.toFixed(2));
    var s_init = parseFloat(s_init.toFixed(2));
    var s_inc = parseFloat(((s_init - s_min) / 4).toFixed(2));
    var s_max = parseFloat(s_init + (s_inc * 4));

    var y_offset = -72;
    var x_offset = ((full / 2) - ($window.width() / 2)) / 1.08;
    var s_trans = 'translate3d(-' + x_offset + 'px,' + y_offset + 'px,0) scale(' + s_init + ')';

    var options = {
      startTransform: s_trans,
      minScale: s_min,
      maxScale: s_max,
      increment: s_inc,
      exponential: false,
      duration: 350,
      easing: 'ease',
      cursor: 'drag',
      contain: 'automatic',
    };

    $map_canvas.panzoom(options);

1 Ответ

0 голосов
/ 19 марта 2019

Намного проще, чем я думал. Просто использовал s_min и убрал дополнительную сумму для позиционирования с x_offset

var x_offset = ((full/2) - ($window.width()/2));
var s_trans  = 'translate3d(-'+x_offset+'px,'+y_offset+'px,0) scale('+s_min+')';

Хотя, почему-то я чувствую, что здесь срезал угол.

...