- 51
- 0
jquery weui 滚动加载多次
相关代码
<div id="refresh">
<div id="listwrap" style="height:auto;overflow:auto;">
<div class="weui-pull-to-refresh__layer" style="padding:25px;">
<div class="down">下拉刷新</div>
<div class="up">释放刷新</div>
<div class="refresh">正在刷新</div>
</div>
<div *ngIf="!Carlist" class="nohavefee">
<img src="../../../assets/img/nofee.png" alt="" class="nosource-img">
暂无货源信息
</div>
<div class="weui-form-preview" id="Tolist">
这里是循环的代码
</div>
<div class="weui-loadmore" *ngIf="loading" style="padding-bottom:30px;height:20px">
<i class="weui-loading"></i>
<span class="weui-loadmore__tips">正在加载</span>
</div>
<div class="nomore" *ngIf="undeterminedItems&&!loading&&!hasMore">
没有更多数据
</div>
</div>
js代码
//滚动加载
$("#listwrap").infinite().on("infinite", () => {
if (this.loading) return;
this.loading = true;
this.skip = this.Carlist.length;
setTimeout(() => {
this.getdata(2);
this.loading = false;
}, 2000); //模拟延迟
});
这样写不能滚动,改成 $(document.body).infinite().on("infinite", (),这样可以滚动加载,但是一次会请求2次,请问是什么原因啊,项目是angular4的。
- 共 0 条
- 全部回答
-
柠萌小丸子ヾ(。) 普通会员 1楼
在jQuery Weui中,滚动加载多次可以通过以下几种方式实现:
- 使用jQuery
scroll()方法:
```javascript $(window).scroll(function() { // 如果窗口滚动了指定距离,加载更多数据 if ($(window).scrollTop() > 100) { // 假设我们有一个数据数组,包含需要加载的数据项 var data = [ { name: 'Item 1', content: 'Item 1 content', num: 1 }, { name: 'Item 2', content: 'Item 2 content', num: 2 }, // ... ];
// 使用Promise或async/await处理数据加载,例如以下代码 $.ajax({ url: 'data.json', method: 'GET', data: { data: data }, success: function(response) { // 如果数据成功加载,更新页面内容 $('#content').html(response.data); }, error: function(xhr, status, error) { // 如果数据加载失败,显示错误信息 console.error('加载数据失败:', error); } }); }}); ```
在这个例子中,我们首先通过
scroll()方法获取窗口滚动的距离,然后检查是否大于100像素。如果满足条件,我们使用jQuery的ajax()方法发送一个GET请求到数据文件的URL,请求的数据为一个包含数据项的数组。数据请求成功后,我们使用success回调函数将数据存储在页面的data元素中,并更新页面的content元素以显示这些数据。- 使用jQuery
scroll()方法和onscroll()事件:
```javascript $(window).on('scroll', function() { // 如果窗口滚动了指定距离,加载更多数据 if ($(window).scrollTop() > 100) { // 假设我们有一个数据数组,包含需要加载的数据项 var data = [ { name: 'Item 1', content: 'Item 1 content', num: 1 }, { name: 'Item 2', content: 'Item 2 content', num: 2 }, // ... ];
// 使用Promise或async/await处理数据加载,例如以下代码 $.ajax({ url: 'data.json', method: 'GET', data: { data: data }, success: function(response) { // 如果数据成功加载,更新页面内容 $('#content').html(response.data); }, error: function(xhr, status, error) { // 如果数据加载失败,显示错误信息 console.error('加载数据失败:', error); } }); }}); ```
在这个例子中,我们通过监听
scroll事件获取窗口滚动的距离,然后检查是否大于100像素。如果满足条件,我们使用scroll()方法和onscroll()事件发送一个GET请求到数据文件的URL,请求的数据为一个包含数据项的数组。数据请求成功后,我们使用success回调函数将数据存储在页面的content元素中,并使用onscroll()事件在下一次滚动时调用这个函数,以处理新的数据加载。- 使用jQuery UI的
slideUp()和slideDown()方法:
```javascript $(window).on('scroll', function() { // 如果窗口滚动了指定距离,加载更多数据 if ($(window).scrollTop() > 100) { // 假设我们有一个数据数组,包含需要加载的数据项 var data = [ { name: 'Item 1', content: 'Item 1 content', num: 1 }, { name: 'Item 2', content: 'Item 2 content', num: 2 }, // ... ];
// 使用Promise或async/await处理数据加载,例如以下代码 $.ajax({ url: 'data.json', method: 'GET', data: { data: data }, success: function(response) { // 如果数据成功加载,更新页面内容 $('#content').html(response.data); }, error: function(xhr, status, error) { // 如果数据加载失败,显示错误信息 console.error('加载数据失败:', error); } }); }}); ```
在这个例子中,我们使用jQuery UI的
slideUp()和slideDown()方法来实现滚动加载。这些方法会在页面滚动一定距离时调用,例如在屏幕滚动100像素时调用slideUp()方法,以加载新的数据项;在屏幕滚动100像素以上时调用slideDown()方法,以加载下一页的数据项。每次调用slideUp()方法或slideDown()方法后,都会获取下一页的scrollHeight值,然后根据scrollHeight值来决定是否加载下一页的数据项。这样,每次滚动时都会根据需要加载不同的数据项,实现滚动加载多次的效果。 - 使用jQuery
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
