微信小程序scroll-view组件[使用竖向横向滚动,flex布局,点击滚动到该元素及其滚动动画]

1、使用竖向横向滚动

  • scroll-y 属性:使用竖向滚动,必须给 scroll-view 一个固定高度

        例如:height:60rpx;

  • scroll-x 属性:使用横向滚动,必须加以下样式 

        1、给 scroll-view 加

                width: 100%;

                white-space: nowrap;

             子元素必须设置

                display: inline-block

        2、使用 flex 布局,观看第二点

2、flex布局问题

属性类型默认值必填说明最低版本
enable-flexbooleanfalse启用 flexbox 布局。开启后,当前节点声明了 display: flex 就会成为 flex container,并作用于其孩子节点。2.7.3
  <scroll-view scroll-x class="navScroll" enable-flex>
    ......
  </scroll-view>
   .navScroll {
      display: flex; /* 不设置 enable-flex,不生效 */
      white-space: nowrap; /* 阻止源码中的文本换行。 */
      height: 60rpx; /* 必须设置高度,因为使用flex布局后,会默认占据没有开启的高度 */
    }

3、 滚动到该元素、滚动时的动画

属性类型默认值必填说明最低版本
scroll-into-viewstring值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素1.0.0
scroll-with-animationbooleanfalse在设置滚动条位置时使用动画过渡1.0.0
<!-- 
    1、id不能以数字开头,所以用拼接一下
    2、每次点击 nav 项,获取 该次 点击项的 id,用 data-id="{{item.id}}" 传参,然后setData,保存为 navId,
    3、这时 scroll-into-view="{{'scroll' + navId}}" 和 scroll-into-view="{{'scroll' + navId}}" 对应,所以会滚动到该元素,但是没有动画
    4、scroll-view 组件加上 scroll-with-animation 就会出现滚动到该项的动画
 -->

  <scroll-view scroll-x scroll-into-view="{{'scroll' + navId}}" scroll-with-animation>
    <view id="{{'scroll' + item.id}}" wx:for="{{ListData}}" wx:key="id">
      <view bindtap="changeNav" data-id="{{item.id}}">
        {{item.name}}
      </view>
    </view>
  </scroll-view>
  data: {
    navId: '', // 导航的标识
  },  
  // 点击切换导航的回调
  changeNav(event) {
    //let navId = event.currentTarget.id; 
    // 通过id向event传参的时候如果传的是number会自动转换成string,navId>>>0, 右移0位,非number转为number【下面使用data-id传参,出现的是number】

    let navId = event.currentTarget.dataset.id;
    this.setData({
      navId: navId,
    })
  },

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/385222.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用matplotlib库来绘制直方图

# coding: utf-8 from matplotlib import font_manager from matplotlib import pyplot as plt# 设置字体&#xff0c;这里使用微软雅黑字体 my_font font_manager.FontProperties(fnameC:\Windows\Fonts\msyh.ttc, size10)# 数据列表 a[131,98,125,131,124,139,131,117,128,1…

知识图谱 多模态学习 2024 最新综述

知识图谱遇见多模态学习&#xff1a;综述 论文题目&#xff1a;Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 论文链接&#xff1a;http://arxiv.org/abs/2402.05391 项目地址&#xff1a;https://github.com/zjukg/KG-MM-Survey 备注&#xff1a;55…

第二篇【传奇开心果微博系列】Python微项目技术点案例示例:成语接龙游戏

传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录一、微项目目标二、雏形示例代码三、扩展整体思路四、玩家输入示例代码五、成语判断示例代码六、回答判断示例代码七、电脑判断示例代码八、游戏结束示例代码九、界面优化示例代码十、扩展成语库示例代…

证明之圆的分割

圆的分割 “数学证明问题&#xff1a;圆上点连线分割区域总数的倍增推理” 既然我已经谈到了数学证明的本质&#xff0c;现在让我们回到本系列开始时的问题。圆上有n个点&#xff0c;我们用直线将这些点两两连结起来&#xff0c;希望能够表明这些直线所分割出的区域总数是 2 …

【程序设计竞赛】C++与Java的细节优化

必须强调下&#xff0c;以下的任意一种优化&#xff0c;都应该是在本身采用的算法没有任何问题情况下的“锦上添花”&#xff0c;而不是“雪中送炭”。 如果下面的说法存在误导&#xff0c;请专业大佬评论指正 读写优化 C读写优化——解除流绑定 在ACM里&#xff0c;经常出现…

【Java程序设计】【C00251】基于Springboot的医院信息管理系统(有论文)

基于Springboot的医院信息管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的医院信管系统 本系统分为管理员功能模块、系统功能模块以及医生功能模块。 系统功能模块&#xff1a;医院信管系统&#xff0c;…

Swift Combine 用 Future 来封装异步请求 从入门到精通十一

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

【C语言】解析刘谦春晚魔术《守岁共此时》

今年的春晚上刘谦表演了魔术《守岁共此时》&#xff0c;台上台下积极互动&#xff08;尤其是小尼&#xff09;&#xff0c;十分的有趣。刘谦老师的魔术不仅仅是他的高超手法&#xff0c;还有这背后的严谨逻辑&#xff0c;下面我们来用C语言来解析魔术吧。 源代码 #define _CRT…

[Python] 文件

这篇是Python基础语法的一个结尾了&#xff0c;还是可莉跟着大家一起学习哦~ 可莉将这篇博客收录在&#xff1a;《Python》 可莉推荐的优质博主主页&#xff1a;Keven ’ s blog 目录 一、文件是什么 二、常用的文件操作函数 1、打开文件 2、关闭文件 3、读取文件 read( ) …

JAVA设计模式之命令模式详解

命令模式 1 命令模式介绍 命令模式(command pattern)的定义: 命令模式将请求&#xff08;命令&#xff09;封装为一个对象&#xff0c;这样可以使用不同的请求参数化其他对象&#xff08;将不同请求依赖注入到其他对象并且能够支持请求&#xff08;命令&#xff09;的排队执行…

jsp课程教学管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 课程教学管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0…

vue3-内置组件-Suspense

Suspense (实验性功能) <Suspense> 是一项实验性功能。它不一定会最终成为稳定功能&#xff0c;并且在稳定之前相关 API 也可能会发生变化。 <Suspense> 是一个内置组件&#xff0c;用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌…

最新Burp Suite入门讲解

Burp Suite的安装 Burp Suite是一款集成化的渗透测试工具&#xff0c;包含了很多功能&#xff0c;可以帮助我们高效地完成对Web应用程序的渗透测试和安全检测。 Burp Suite由Java语言编写&#xff0c;Java自身的跨平台性使我们能更方便地学习和使用这款软件。不像其他自动化测…

Offer必备算法06_位运算_十道力扣OJ题详解_由易到难

目录 位运算算法原理 ①力扣191. 位1的个数 解析代码 ②力扣338. 比特位计数 解析代码 ③力扣461. 汉明距离 解析代码 ④力扣136. 只出现一次的数字 解析代码 ⑤力扣260. 只出现一次的数字 III 解析代码 ⑥力扣面试题 01.01. 判定字符是否唯一 解析代码 ⑦力扣26…

STM32F1 - GPIO外设

GPIO 1> 硬件框图2> 工作模式 1> 硬件框图 2> 工作模式 C语言描述 /** * brief Configuration Mode enumeration */typedef enum { GPIO_Mode_AIN 0x0, // Analog Input 模拟输入 GPIO_Mode_IN_FLOATING 0x04, // input floating 浮空输入GPIO_Mode_I…

Linux第47步_安装支持linux的第三方库和mkimage工具

安装支持linux的第三方库和mkimage工具&#xff0c;做好移植前的准备工作。 编译linux内核之前&#xff0c;需要先在 ubuntu上安装“lzop库”和“libssl-dev库”&#xff0c;否则内核编译会失败。 mkimage工具会在zImage镜像文件的前面添加0x40个字节的头部信息,就可以得到uI…

【JAVA WEB】JavaScript--函数 作用域 对象

目录 函数 语法格式 示例 定义没有参数列表&#xff0c;也没有返回值的一个函数 定义一个有参数列表 &#xff0c;有返回值的函数 关于参数个数 函数表达式 作用域 作用域链 对象 基本概念 创建对象 1.使用 字面量 创建对象 2.使用new Object()创建对象 3.使…

Microsoft Word 超链接

Microsoft Word 超链接 1. 取消超链接2. 自动超链接2.1. 选项2.2. 校对 -> 自动更正选项2.3. Internet 及网络路径替换为超链接 References 1. 取消超链接 Ctrl A -> Ctrl Shift F9 2. 自动超链接 2.1. 选项 2.2. 校对 -> 自动更正选项 ​​​ 2.3. Internet…

java中事务的使用

文章目录 前言一、同一张表1.业务代码2.测试代码3.测试结果 二、不同表1.业务代码2.测试代码3.测试结果 总结 前言 本文将介绍在springboot中使用Transactional注解来完成对数据库事务的操作&#xff0c;保证数据一致性。 一、同一张表 1.业务代码 Controller Controller p…

二、ClickHouse简介

ClickHouse简介 前言一、行式存储二、DBMS功能三、多样化引擎四、高吞吐写入能力五、数据分区与线程级并行六、场景七、特定版本 前言 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用 C 语言编写&#xff0c;主要…