Можно ли изменить параметры панорамирования OpenSeaDragon после инициализации
Я создаю адаптивный просмотрщик изображений, включающий OpenSeaDragon, который требует различного поведения панорамирования при различной ширине экрана. При узкой ширине панорамирование не должно быть разрешено, но когда окно шире, панорамирование должно быть активировано.
Ниже приведен упрощенный пример:
Давайте предположим, что окно достаточно широкое, тогда параметры панорамирования при инициализации будут такими:
OpenSeaDragon({ panHorizontal: true, panVertical: true, ... });
(Я понимаю, что это значения по умолчанию, но для ясности приведем их здесь.)
Затем я могу определить, нужно ли активировать / деактивировать панорамирование, используя matchMedia
внутри окна обработчик изменения размера, что-то вроде:
// (Crude example, resize would need debouncing etc)
window.addEventListener('resize', function () {
if (window.matchMedia('(min-width:800px)').matches) {
// allow panning
} else {
// prevent panning
}
});
Мой вопрос заключается в том, могут ли параметры ограничения панорамирования, предоставляемые при инициализации OpenSeaDragin, быть изменены позднее без необходимости повторной инициализации средства просмотра? В противном случае, есть ли другой способ получить тот же эффект? Я покопался в документации и коде OpenSeaDragon, но не вижу способа сделать это.
1 ответ
Да, вы можете изменить эти свойства напрямую, без повторной инициализации, например:
var viewer = OpenSeaDragon({ panHorizontal: true, panVertical: true, ... });
viewer.panHorizontal = false;