微信小程序scroll-view仿拼多多横向滑动滚动条


Posted in Javascript onApril 21, 2020

本文实例为大家分享了微信小程序横向滑动滚动条的具体代码,供大家参考,具体内容如下

效果图

微信小程序scroll-view仿拼多多横向滑动滚动条

微信小程序scroll-view仿拼多多横向滑动滚动条

实现代码

index.wxml

<scroll-view scroll-x="true" class="scroll-view-x" style="padding-top:10rpx" scroll-with-animation="true" wx:if="{{tlist[currentTab].secondList}}" scroll-left='0' bindscroll="getleft">
  <!--内容区域-->
  <view>
   <view class="navigator_second" wx:for="{{tlist[currentTab].secondList}}" wx:for-item="childItem" bindtap="getProductList" data-id="{{childItem.id}}">
   <image class="navigator_icon" src="{{childItem.icon}}"></image>
   <text class="navigator_text">{{childItem.name}}</text>
   </view>
  </view>
  <view wx:if="{{tlist[currentTab].thirdList}}">
   <view class="navigator_second" wx:for="{{tlist[currentTab].thirdList}}" wx:for-item="childItem" data-id="{{childItem.id}}" bindtap="getProductList">
   <image class="navigator_icon" src="{{childItem.icon}}" ></image>
   <text class="navigator_text">{{childItem.name}}</text>
   </view>
  </view>
  </scroll-view >
  <!--滚动条部分-->
  <view wx:if="{{slideShow}}" class="slide">
  <view class='slide-bar' >
   <view class="slide-show" style="width:{{slideWidth}}rpx; margin-left:{{slideLeft<=1 ? 0 : slideLeft+'rpx'}};"></view>
  </view>
  </view>

index.js

//获取应用实例
var app = getApp();
Page({
 data: {
 navigate_type:'',//分类类型,是否包含二级分类
 slideWidth:'',//滑块宽
 slideLeft:0 ,//滑块位置
 totalLength:'',//当前滚动列表总长
 slideShow:false,
 slideRatio:''
 },
 onLoad: function () {
 var self = this ;
 var systemInfo = wx.getSystemInfoSync() ;
 self.setData({
  list: _list,
  windowHeight: app.globalData.navigate_type == 1 ? systemInfo.windowHeight : systemInfo.windowHeight - 35,
  windowWidth: systemInfo.windowWidth,
  navigate_type: app.globalData.navigate_type
 })
 //计算比例
 self.getRatio();
 },
 //根据分类获取比例
 getRatio(){
 var self = this ;
 if (!self.data.tlist[self.data.currentTab].secondList || self.data.tlist[self.data.currentTab].secondList.length<=5){
  this.setData({
  slideShow:false
  })
 }else{
  var _totalLength = self.data.tlist[self.data.currentTab].secondList.length * 150; //分类列表总长度
  var _ratio = 230 / _totalLength * (750 / this.data.windowWidth); //滚动列表长度与滑条长度比例
  var _showLength = 750 / _totalLength * 230; //当前显示红色滑条的长度(保留两位小数)
  this.setData({
  slideWidth: _showLength,
  totalLength: _totalLength,
  slideShow: true,
  slideRatio:_ratio
  })
 }
 } ,
 //slideLeft动态变化
 getleft(e){
 this.setData({
  slideLeft: e.detail.scrollLeft * this.data.slideRatio
 })
 } 
})

index.wxss

.scroll-view-x{
 background-color: #fff;
 white-space: nowrap;
}
.navigator_second{
 width:150rpx;
 text-align:center;
 display:inline-block;
 height:115rpx;
}
.navigator_icon{
 width:60rpx;
 height:60rpx;
}
.navigator_text{
 display:block;
 width:100%;
 font-size:24rpx
}
.slide{
 height:30rpx;
 background:#fff;
 with:100%;
 padding:14rpx 0 5rpx 0
}
.slide .slide-bar{
 width:230rpx;
 margin:0 auto;
 height:1.5px;
 background:#eee;
}
.slide .slide-bar .slide-show{
 height:100%;
 background-color:#ff6969;

}

项目地址:微信小程序横向滑动滚动条

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

Javascript 相关文章推荐
jQuery getJSON()+.ashx 实现分页(改进版)
Mar 28 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
jQuery获得内容和属性示例代码
Jan 16 Javascript
jQuery+HTML5美女瀑布流布局实现方法
Sep 21 Javascript
Jquery easyui 实现动态树
Nov 17 Javascript
JavaScript中各种引用类型的常用操作方法小结
May 05 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
Aug 04 Javascript
Node.js连接Sql Server 2008及数据层封装详解
Aug 27 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 Javascript
JavaScript实现简单日历效果
Sep 11 Javascript
微信小程序实现自上而下字幕滚动
Jul 14 #Javascript
微信小程序scroll-view实现字幕滚动
Jul 14 #Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 #Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 #Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
Jul 13 #Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 #Javascript
vue实现组件之间传值功能示例
Jul 13 #Javascript
You might like
PHP安全编程之加密功能
2006/10/09 PHP
php的正则处理函数总结分析
2008/06/20 PHP
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
Python实现的计算器功能示例
2018/04/26 Python
python五子棋游戏的设计与实现
2019/06/18 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
HEMA法国:荷兰原创设计
2019/02/21 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
政法大学毕业生自荐信范文
2014/01/01 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
好的促销活动方案
2014/08/21 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
财务会计实训报告
2014/11/05 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
Python循环之while无限迭代
2022/04/30 Python