微信小程序12行js代码自己写个滑块功能(推荐)


Posted in Javascript onJuly 15, 2020

效果图如下所示

微信小程序12行js代码自己写个滑块功能(推荐)

.wxml

<view class="jindu" bindtap="cuin">
 <view class="xian" style="width:{{towards}}px;">
 <view class="yuan" bindtouchmove='touchMove'></view>
 </view>
</view>
<view class="bfb">{{percen}}%</view>

.wxss

page{
 background-color:#ddd;
}
.jindu{
 margin: 50px calc((100% - 300px) / 2) 0;
 width: 300px;
 float: left;
 height: 6rpx;
 background-color: #fff;
 position: relative;
}
.xian{
 width: 0%;
 float: left;
 height: 6rpx;
 background-color: #1989FA;
 position: relative;
 transition: all 0.1s;
}
.yuan{
 border-radius: 50%;
	background: #1989FA;
	position: absolute;
	right: 0rpx;
	display: block;
 margin: calc((6rpx - 14rpx)/2);
	width: 14rpx;
	height: 14rpx;
}
.bfb{
 width: 300px;
 margin: 10px calc((100% - 300px) / 2) 0;
 float: left;
}

.js

Page({
 data: {
 towards: 0,
 percen:0,
 kuan:0,
 },
 onLoad:function(options){
 this.setData({
  kuan: parseInt((wx.getSystemInfoSync().windowWidth - 300) / 2)
 })
 },
 cuin:function(e){
 this.setData({
  towards: (e.detail.x - this.data.kuan) > 300 ? 300 : (e.detail.x - this.data.kuan),
  percen: (e.detail.x / (300 / 100)) < 1 ? 0 : parseInt(e.detail.x / (300 / 100)),
 })
 },
 touchMove: function (e) {
 if (e.touches.length == 1) {
  var moveX = e.touches[0].clientX;
  var towards = (moveX - this.data.kuan) > 300 ? 300 : (moveX - this.data.kuan)
  this.data.percen = (towards / (300 / 100)) < 1 ? 0 : parseInt(towards / (300 / 100))
  this.setData({
  towards: towards,
  percen: this.data.percen
  })
 }
 },
})

到此这篇关于微信小程序12行js代码自己写个滑块功能的文章就介绍到这了,更多相关微信小程序滑块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
经验几则 推荐
Sep 05 Javascript
jQuery 创建Dom元素
May 07 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
15位和18位身份证JS校验的简单实例
Jul 18 Javascript
jQuery实现6位数字密码输入框
Dec 29 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
javascript 中null和undefined区分和比较
Apr 19 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
js实现同一个页面,多个enter事件绑定的示例
Oct 10 Javascript
js实现开关灯效果
Mar 30 Javascript
vue实现输入一位数字转汉字功能
Dec 13 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 #Javascript
微信小程序实现列表的横向滑动方式
Jul 15 #Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
Jul 15 #Javascript
JavaScript实时更新当前的时间的示例代码
Jul 15 #Javascript
jQuery 添加元素和删除元素的方法
Jul 15 #jQuery
vue如何在项目中调用腾讯云的滑动验证码
Jul 15 #Javascript
Vue中keep-alive的两种应用方式
Jul 15 #Javascript
You might like
PHP编程与应用
2006/10/09 PHP
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
Python函数中定义参数的四种方式
2014/11/30 Python
详细解析Python中的变量的数据类型
2015/05/13 Python
Python中str.format()详解
2017/03/12 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
django url到views参数传递的实例
2019/07/19 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
Python如何转换字符串大小写
2020/06/04 Python
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
七年级作文之雪景
2019/11/18 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js