【问题标题】:Scroll to end of element when images loaded加载图像时滚动到元素末尾
【发布时间】:2020-04-05 20:59:32
【问题描述】:

在一个 VueJS / Vuetify 项目中,我有一个 div,里面有一堆图像。
我正在使用 Vuetify 图像,这意味着它们是延迟加载的。

我希望 div 在显示时滚动到末尾。

我曾尝试在组件挂载时滚动到末尾,但图片没有加载,所以当时滚动到末尾不起作用,只是将滚动位置保留在 0。

我试图在图像的加载事件中滚动到末尾,但是当用户向后滚动时,会加载新图像,从而使用户回到末尾滚动。

我可以添加一个计时器,只在 X 毫秒后滚动到末尾,或者在图像加载时滚动,但只能滚动 X 次,或者只滚动 X 毫秒,但这些都是不可靠的解决方案。

什么是实现这一目标的干净可靠的方法?

【问题讨论】:

  • 您是否计算过要加载的图像数量,还是无限加载器?如果你有一个想法。您可以使用 v-img 组件上的 load 事件来了解何时加载图像并增加一个值并将其与图像总数进行比较。一旦达到数字向下滚动
  • 我确实有图像列表(因此计数)。如果我理解正确,问题是当列表加载时,我将加载第一个图像,然后移动到最后,加载最后的图像,但永远不会加载中间的图像,当显示时,他们会触发负载并将我带回终点

标签: javascript vue.js scroll vuetify.js


【解决方案1】:

我找到的最干净的解决方案是在图像加载事件时滚动到末尾,但在加载最后一张图像时我停止这样做(意味着它已被显示)。

【讨论】:

  • 感谢@Prikesh Savla,他的评论给了我灵感!
  • 乐于助人!!
猜你喜欢
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
  • 1970-01-01
  • 2017-07-09
相关资源
最近更新 更多