滚动获取div详细信息

时间:2019-07-04 06:34:23

标签: javascript jquery html

我有一个社交供稿页面,当用户可以在他/她的脑海中发布某些内容时,我想在该页面上添加观看次数,我的问题是,当用户向下滚动时,如何计算每个社交供稿上的观看次数页面

1 个答案:

答案 0 :(得分:2)

这是Intersection Observer

的工作

使用此方法,您可以控制元素滚动到视图(或从视图中滚动出来)后发生的情况。 您甚至可以定义在执行回调函数之前该元素应可见的百分比。

首先创建一个观察者:

var options = {
  rootMargin: '0px',
  threshold: 1.0
}

var observer = new IntersectionObserver(callback, options);

在这里,我们创建了一个观察器,一旦元素完全可见,便会触发该观察器,稍后我们将定义回调函数。

然后您必须设置目标:

var target = document.querySelector('.social-media-post');
observer.observe(target);

在这里,您告诉浏览器观察类social-media-post的每个Element

接下来要做的就是定义一旦元素可见就应该发生的情况,并定义回调函数:

var callback = function(entries, observer) { 
  entries.forEach(entry => {
    // Each entry describes an intersection change for one observed
    // target element:
    // here you increase the counter for each element
  });
};