微信小程序scroll-view实现横向滚动和上拉加载示例

发布时间 - 2026-01-10 23:27:22    点击率:

今天介绍微信小程序中scroll-view实现横向滚动和上拉加载的实现及需要注意的地方。

先看最终效果。

横向滚动

1.设置滚动项display:inline-block;

2.设置滚动视图容器white-space: nowrap;

3.滚动项不要用float

为什么会有以上三点要求呢?

其实横向滚动官方文档中是没有做太多说明的,只说明需要定义scroll-view滚动方向scroll-x=true允许横向滚动,但是我在实践的时候我发现,你要横向滚动,首先你得是一排吧。所以才发现需要定义滚动项及容器的一些属性,浮动是不能让所有的滚动项一排显示的。

上拉加载

复制代码 代码如下:
<scroll-view scroll-y="true" bindscrolltolower="pullUpLoad" style="height: 58%;" class="content-wrap">

实现上拉加载,只需要绑定bindscrolltolower 事件处理,当滚动到底部/左边的时候,触发这个处理函数,逻辑上就是去请求下一页的数据,并且视图上显示正在加载的样式,当数据请求成功,将其拼合到之前的数据中,并隐藏正在加载的样式。

//下拉加载
pullUpLoad: function(){
  var that = this;
  console.log("====下拉====")
  if (!that.data.hidden) {
    that.data.params.pageNo += 1;
    that.setData({
      params: that.data.params,
    })
    if(that.data.params.pageNo <= that.data.totalPages){
      that.setData({
        hidden: true,
      })
      that.getShareList();
    }else{
      that.setData({
        hidden: false,
      })
    }
  }
}

如何设置scroll-view满屏滚动

文档中说到:使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height。

那么我们想让小程序满屏滚动该如何设置高度呢,直接设置height:100%?好像不是很好用,原因是因为这个高度没有参照物,以前我们是设置body的高度,类似,我们这里发现小程序页面渲染出来的容器是Page,那我们就先设置Page的高度100%,再设置scroll-view高度100%,问题得到解决。

官方推荐的loading效果

onLoad:function(options){
  wx.showToast({
    title: '加载中',
    icon: 'loading',
    duration: 10000//loading时间
  });
  //wx.hideToast();隐藏loading
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 小程序横向滚动  # scrollview横向滚动  # scrollview上拉加载  # 微信小程序通过js实现瀑布流布局详解  # web页面和微信小程序页面实现瀑布流效果  # 微信小程序实现瀑布流布局与无限加载的方法详解  # 微信小程序实现滚动加载更多的代码  # 微信小程序实现瀑布流分页滚动加载  # 加载  # 正在加载  # 文档  # 是因为  # 我在  # 太多  # 你要  # 下一页  # 说到  # 将其  # 能让  # 才发现  # 只需要  # 该如何  # 三点  # 想让  # 就先  # 绑定  # 你得  # 需要注意 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 制作企业网站建设方案,怎样建设一个公司网站?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  如何用AWS免费套餐快速搭建高效网站?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何为API生成Swagger或OpenAPI文档  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Python面向对象测试方法_mock解析【教程】  WEB开发之注册页面验证码倒计时代码的实现  在Oracle关闭情况下如何修改spfile的参数  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  利用JavaScript实现拖拽改变元素大小  Laravel如何为API编写文档_Laravel API文档生成与维护方法  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel如何使用.env文件管理环境变量?(最佳实践)  历史网站制作软件,华为如何找回被删除的网站?  高端云建站费用究竟需要多少预算?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel如何使用Blade模板引擎?(完整语法和示例)  高防服务器租用如何选择配置与防御等级?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何与Inertia.js和Vue/React构建现代单页应用  非常酷的网站设计制作软件,酷培ai教育官方网站?  微信小程序 闭包写法详细介绍  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  怎样使用JSON进行数据交换_它有什么限制  如何挑选高效建站主机与优质域名?  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  无锡营销型网站制作公司,无锡网选车牌流程?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Java垃圾回收器的方法和原理总结  Laravel如何实现API版本控制_Laravel API版本化路由设计策略