微信小程序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 相关文章推荐
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
Jun 27 Javascript
js和jquery设置disabled属性为true使按钮失效
Aug 07 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
Nov 02 Javascript
Bootstrap媒体对象的实现
May 01 Javascript
angularJS 如何读写缓冲的方法(推荐)
Aug 06 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
Oct 21 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
Apr 17 Javascript
angularjs实现的购物金额计算工具示例
May 08 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
Nuxt使用Vuex的方法示例
Sep 06 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备份/还原MySQL数据库的代码
2011/01/06 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
分页栏的web标准实现
2011/11/01 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
家长给幼儿园的表扬信
2014/01/09 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
绩效考核实施方案
2014/03/18 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
无工作证明怎么写
2015/06/15 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
Mysql忘记密码解决方法
2022/02/12 MySQL
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
AngularJS实现多级下拉框
2022/03/25 Javascript