OpenSeaDragon 的平移选项在初始化后可以更改吗

Can OpenSeaDragon panning options be changed after initialisation

我正在构建一个包含 OpenSeaDragon 的响应式图像查看器,它需要在不同的屏幕宽度下进行不同的平移行为。在较窄的宽度下不应允许平移,但当 window 较宽时,应激活平移。

简化示例如下:

假设 window 相当宽,那么初始化期间的平移选项将是:

OpenSeaDragon({ panHorizontal: true, panVertical: true, ... });

(我知道这些是默认值,但为了清楚起见,将它们包括在这里。)

然后我可以在 window 调整大小事件处理程序中使用 matchMedia 来检测平移是否应该 activated/deactivated,例如:

// (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 文档和代码,但我看不到这样做的方法。

是的,您可以直接更改这些属性而无需重新初始化,如下所示:

var viewer = OpenSeaDragon({ panHorizontal: true, panVertical: true, ... });

viewer.panHorizontal = false;