离子:获取离子含量中当前可见的项目

优西沙肖

我的ion-content应用程序中有一个很长的可滚动区域,使用填充了许多项collection-repeat

我需要知道哪些项目对用户可见。

我无法使用$ionicScrollDelegate.getScrollPosition来计算答案,因为每个项目的高度都不同(每个项目的项目高度都是计算得出的)。

优西沙肖

最终自己计算了元素的总高度,然后通过查询元素的translateY.scroll,我可以找出滚动条可见部分中的哪个项目。

它正在重新发明轮子,但是行得通。

当我加载项目时,我调用ScrollManager.setItemHeights(heights)heights是项目高度的数组,以像素为单位),并获取当前可见项目的索引:ScrollManager.getVisibleItemIndex()

angular.module("services")
.service('ScrollManager', function() {
  var getTranslateY, getVisibleItemIndex, setItemHeights, summedHeights;
  summedHeights = null;
  setItemHeights = function(heights) {
    var height, sum, _i, _len;
    summedHeights = [0];
    sum = 0;
    for (_i = 0, _len = heights.length; _i < _len; _i++) {
      height = heights[_i];
      sum += height;
      summedHeights.push(sum);
    }
  };

  // returns the style translateY of the .scroll element, in pixels
  getTranslateY = function() { 
    return Number(document.querySelector('.scroll').style.transform.match(/,\s*(-?\d+\.?\d*)\s*/)[1]);
  };

  getVisibleItemIndex = function() {
    var i, y;
    y = -getTranslateY();
    i = 0;
    while (summedHeights[i] < y) {
      i++;
    }
    return i;
  };

  return {
    setItemHeights: setItemHeights,
    getVisibleItemIndex: getVisibleItemIndex
  };
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Recycler View 中获取当前可见的项目

来自分类Dev

离子条头与离子含量重叠

来自分类Dev

选项卡图标在离子 3 中不可见

来自分类Dev

离子含量不滚动

来自分类Dev

离子含量不滚动

来自分类Dev

离子弹出按钮不可见

来自分类Dev

离子含量与离子头栏重叠

来自分类Dev

离子滑块固定在离子含量的底部

来自分类Dev

如何在离子中的html元素ID中获取当前的离子幻灯片?

来自分类Dev

如何从代码中获取当前的离子模式

来自分类Dev

离子含量未正确对齐

来自分类Dev

Ionic 4 透明离子含量

来自分类Dev

在基于离子的应用中无法设置离子含量内部的div高度

来自分类Dev

离子混合应用程序中的源可见性

来自分类Dev

在android dumpsys中获取当前可见片段的信息

来自分类Dev

在android dumpsys中获取当前可见片段的信息

来自分类Dev

可滚动离子含量内的离子水平滚动

来自分类Dev

添加离子侧菜单后未显示离子含量

来自分类Dev

如何在离子含量内部渲染svg

来自分类Dev

访问不同离子含量的ng模型

来自分类Dev

AngularJS-当前可见的“全选”项目

来自分类Dev

如何使离子列表中的项目变小(不高)?

来自分类Dev

在Linux中启动离子项目

来自分类Dev

“ ng-click”在Ionic框架中无法解决“离子含量”问题

来自分类Dev

“ ng-click”在Ionic框架中无法解决“离子含量”问题

来自分类Dev

从活动获取当前可见片段

来自分类Dev

如何获取当前可见的图块坐标?

来自分类Dev

使用FCM获取离子设备中的Tocken

来自分类Dev

离子2:缩小离子清单项目