直接上代码吧
//手指拖动的时候有可能整个SVG飞出可视区
window.addEventListener("touchmove", this.scrollHandle, true)
scrollHandle() {
const rect = document.querySelector('svg').getBoundingClientRect();
const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
const viewportWidth = window.innerWidth || document.documentElement.clientWidth;
if ((rect.top + 50) >= viewportHeight || (rect.bottom - 46) <= 0 || (rect.right - 40) <= 0 || (rect.left + 40) >= viewportWidth) {
this.viewAngle()//回到原始比例
}
},
判断元素 最大 最小能达到的可视范围
在进行后续操作