我正在构建一个包含 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 文档和代码,但我看不到这样做的方法。