0

我想在有人滚动经过特定表单后触发 React.GA 事件。我将此行添加到我的 componentDidMount

window.addEventListener('scroll', this.onScroll);

然后我有这两个功能

isVisible = (el) => {
var rect = el.getBoundingClientRect();
return (
  rect.top >= 0 &&
  rect.left >= 0 &&
  rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
  rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}

onScroll = () => {
let form = document.querySelector('theform');
if (form) {
  if (this.isVisible(form)) {
    console.log('hey');
  }
}
}

这很接近,但它会生成很多日志,所以我猜它也会生成很多 GA 事件。是否可以修改我的 isVisible 函数以检查它是否部分可见(假设超过一半的表单已滚动过去)?

我用特定的边界值尝试了它,但当然这不是解决这个问题的最佳方法。

感谢您提供任何有用的建议!

4

0 回答 0