小程序scroll-view 生成 双行金刚区 底部滑块 跟随滑动 CSS
时间:2019-11-27
本文章向大家介绍小程序scroll-view 生成 双行金刚区 底部滑块 跟随滑动 CSS,主要包括小程序scroll-view 生成 双行金刚区 底部滑块 跟随滑动 CSS使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
效果如上图
下面是代码:
WXML:
1 <view class="contaier"> 2 <scroll-view class="nav-bar" scroll-x bindscroll="scroll"> 3 <!-- 要想使用flex布局实现横向滚动,就要在scroll-view里加一层容器包裹,并且使用子组件才会出现滚动效果 --> 4 <view class="nav-bar-wrap"> 5 <block wx:for="{{navbarArr}}" wx:key='key'> 6 <view class="nav-bar-item" bindtap="onNavbarItem" data-id='{{item.id}}'> 7 <image src="{{item.pic_url}}" /> 8 <text>{{item.name}}</text> 9 </view> 10 </block> 11 </view> 12 </scroll-view> 13 <view class="slider"> 14 <view class="slider-inside .slider-inside-location" style="left:{{left}}"></view> 15 </view> 16 </view>
WXSS:
1 .contaier { 2 position: relative; 3 height: 330rpx; 4 overflow : hidden; 5 background: #fff; 6 } 7 8 scroll-view { 9 white-space: nowrap; 10 border: 1px solid #ccc; 11 } 12 /* 去除滚动条 */ 13 ::-webkit-scrollbar { 14 display:none; 15 width:0; 16 height:0; 17 color:transparent; 18 } 19 .nav-bar-wrap { 20 display: flex; 21 flex-flow: column wrap; 22 height: 330rpx; 23 } 24 25 .nav-bar-item { 26 width: 187.5rpx; 27 display: flex; 28 flex-direction: column; 29 align-items: center; 30 padding-top: 28rpx; 31 } 32 33 .nav-bar-item image { 34 display: block; 35 height: 90rpx; 36 width: 90rpx; 37 margin: 0; 38 } 39 40 .nav-bar-item text { 41 margin-top: 5rpx; 42 line-height: 32rpx; 43 font-size: 25rpx; 44 } 45 46 .slider { 47 position: absolute; 48 bottom: 0rpx; 49 left: 50%; 50 transform: translateX(-50%); 51 width: 64rpx; 52 height: 6rpx; 53 border-radius: 3rpx; 54 background: #eee; 55 } 56 57 .slider-inside { 58 transform: translateX(-100%); 59 width: 42rpx; 60 height: 100%; 61 border-radius: 3rpx; 62 background-color: #f5d020; 63 } 64 /* 滑块定位 */ 65 .slider-inside-location { 66 position: absolute; 67 left: 65.625%; 68 }
JS:
1 Component({ 2 data: { 3 navbarArr: [],//icon图片对象数组 4 left: 0.65625 5 }, 6 attached() { 7 navbar.getNavBar(res => { 8 this.setData({ 9 navbarArr: res.data.data.list 10 }) 11 // console.log(this.data.navbarArr) 12 }) 13 }, 14 methods: { 15 onNavbarItem(options) { 16 const id = options.currentTarget.dataset.id 17 wx.navigateTo({ 18 url: `/pages/mysignup/mysignup?id=${id}`, 19 }) 20 }, 21 scroll(event) { 22 let scrollLeft = event.detail.scrollLeft + 375; 23 let scrllWidth = event.detail.scrollWidth; 24 let left = `${(scrollLeft) / scrllWidth * 100}%` 25 this.setData({ 26 left, //内部滑块 根据css设置 距离左边的百分比 27 }) 28 } 29 } 30 })
小小总结,如遇到同样需求,可以提问
原文地址:https://www.cnblogs.com/minghost/p/11941668.html
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- Docker 入门到实战教程(五)构建Docker镜像
- Docker 入门到实战教程(六)Docker数据卷
- Docker 入门到实战教程(七)安装Redis
- Docker 入门到实战教程(八)安装Mysql
- Docker 入门到实战教程(九)安装Nginx
- Docker教程(九)部署Spring Boot项目
- Docker 入门到实战教程(十一)部署Vue+SpringBoot 前后端分离项目
- Docker 入门到实战教程(十二)ELK+Filebeat搭建日志分析系统
- Docker 入门到实战教程(十三)Docker Compose
- 解决IDEA2020.1版本的lombok插件问题
- 工具系列 | 视频监控RTSP转HLS解决方案
- Redis系列 |(一)六种基本数据结构
- 工具系列 | Jenkins 构建伟大,无所不能
- 工具系列 | H5自定义视频播放器实现
- 前端系列 |原生JS和jQuery循环遍历函数