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;
我正在构建一个包含 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;