我正在使用一个计数器来显示一些数字,但它们在页面加载时加载,所以除非我做一些按钮来触发它,否则它会加载。找到这个viewport插件(https://github.com/BKWLD/vue-in-viewport-mixin),但我无法使用它。这就是我需要做的,当我到达某个元素(完全)时触发一个函数,如何实现它?
我正在使用一个计数器来显示一些数字,但它们在页面加载时加载,所以除非我做一些按钮来触发它,否则它会加载。找到这个viewport插件(https://github.com/BKWLD/vue-in-viewport-mixin),但我无法使用它。这就是我需要做的,当我到达某个元素(完全)时触发一个函数,如何实现它?
2条答案
按热度按时间k3bvogb11#
你不一定需要一个包来做这件事。添加一个事件监听器来监听滚动事件,并在每次有滚动事件时检查元素是否在视口中。下面的示例代码-注意我添加了一个动画来强调“如果在视口中出现”的效果。
Codepen here。
另一种选择是使用交叉点观察器-我还没有探索过这个,但这个教程似乎不错:请alligator.io/vuejs/lazy-image注意,您将需要IE的polyfill。
4sup72z82#
我使用Intersection Observer constructor实现了类似的功能。