当前位置: 首页 > 知识库问答 >
问题:

用winjs检测listview上的滚动事件

程禄
2023-03-14

我需要加载更多的项目,只要用户滚动到我的列表视图的末尾。

我尝试使用microsoft示例:http://code.msdn.microsoft.com/windowsapps/listview-loading-behavies-718a4673/view/sourceCode(场景2),但它与windows Phone8.1中的列表视图行为不同。

listView.winControl.itemTemplate = this.incrementalTemplate;
incrementalTemplate: function (itemPromise, recycledElement) {
    if (!recycledElement) {
        recycledElement = document.createElement('div');
    }
    var renderComplete = itemPromise.then(function (item) {

        console.log(item.index);


        itemTemplate.winControl.render(item.data, recycledElement);
        return item.ready;
    }).done(function (item) {
        console.log("clp"+item.index);

    });
    return { element: recycledElement, renderComplete: renderComplete };
},

而且,我的listview似乎从未激发加载状态事件

listView.addEventListener("loadingstatechanged", function (args) {
    //never fired
}, false);

共有1个答案

柯乐池
2023-03-14

listview位于集线器中,解决方案是在win数据透视项上添加onscroll事件:

 document.querySelector(".win-pivot-item-content").onscroll = function () {
                if (self.scrollAtBottom(this) === true) {
                    //load more
                }
            };

   scrollAtBottom : function(element){
        return element.scrollHeight - element.scrollTop === element.clientHeight
    },
 类似资料:
  • 我有一个WinJS ListView,它的项目使用模板函数创建(选项指向一个函数)。返回的项目内部有一个div,该div具有win交互类,因此可以接受输入。具体来说,该div需要能够滚动以显示更多适合ListView项的内容。 滚动与应用于div的win交互类完美配合。我试图解决的问题是允许正常的单击(鼠标向下,鼠标向上)仍然触发ListView上的事件,同时仍然允许滚动ListView项中的di

  • 问题内容: 因此,我正在尝试使用JavaScript 调用函数。但是我想知道是否可以在不使用jQuery的情况下检测滚动方向。如果没有,那么有什么解决方法吗? 我本来只是想放一个“置顶”按钮,但我想避免这种情况。 我现在刚刚尝试使用此代码,但是没有用: 问题答案: 可以通过存储先前的scrollTop值并将其与当前scrollTop值进行比较来检测到它。 JS:

  • 问题内容: 我有两个ListView要滚动在一起的对象。它们 并排放置,因此,如果一个滚动一定数量,则另一个滚动相同 数量。我已经找到了一些有关如何执行此操作的示例,但我相信它们 依赖于ListView高度相同的项目(如果我 错了,请纠正我)。我的一个ListView对象中的项目比另一个对象中的项目高 ,跨越2-3个项目。 如何将这两个对象“锁定”在一起? 编辑:这是我所拥有的屏幕截图,也许它将更

  • 问题内容: 我有一个带有onScrollStateChanged和onScroll事件侦听器的ListView。我希望能够获得ListView的滚动速度,或者以某种方式在某个事件侦听器中获得已启动滚动的finalX位置。我们的应用定位到SDK版本7。 我需要测量或获取ListView滚动的速度。 问题答案: 划分第一个可见项时差对时差不是一个好的解决方案。OnScroll侦听器每隔固定的时间周期接

  • 我想用ListView实现滚动刷新功能。此外,在同一布局文件中还有其他视图元素,如果列表为空,则会显示这些元素。这是我的布局文件。问题是,当我向下滚动,然后尝试向上滚动,而不是一直滚动到顶部,然后刷新它只是刷新那里,向上滚动是不起作用的。

  • 我有以下问题我搞不清楚。我有一个带有ListView的pageControl。列表有一个项目模板设置,我正在从js脚本绑定列表。当我单击该项目以导航到另一个PageControl时,我添加了一个事件处理程序。事件启动,但当我执行winjs.navigation.navigate时,第二个页面没有加载。 第1页HTML: 第1页JS: