Скролл к конкретному элементу по центру блока

На странице имеется блок с шириной и высотой ([ширина экрана]x248). В этом блоке – большая SVG размером 1030х821. В этой svg есть <polygon class="current">. Необходимо произвести скролл в блоке так, чтобы этот <polygon class="current"> отображался по центру этого блока.

Только один полигон имеет класс current.

При использовании такого кода центр рассчитывается не правильно.

var $scroll = $('.block');
offset = $('polygon.current').position();
var top = offset.top/2;
var left = offset.left/2;
$scroll.scrollTop(top);
$scroll.scrollLeft(left);

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Проста Miha

Попробуйте уменьшать число на высоту / ширину элемента делёныя на 2 у которого класса curent

var $scroll = $('.block');
offset = $('polygon.current').position();
var top = offset.top/2;
var left = offset.left/2;
$scroll.scrollTop(top - [высота элемента / 2]);
$scroll.scrollLeft(left - [ширина элемента / 2]);
→ Ссылка