微信小程序实现拉链式的滑动验证

 更新时间:2022年05月23日 13:56:11   作者:掠影浮华  
这篇文章主要为大家详细介绍了微信小程序实现拉链式的滑动验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序实现拉链式滑动验证的具体代码,供大家参考,具体内容如下

view结构

<view style="position: relative;height:90rpx">
    <movable-area class="content" style="width:{{area_width}}rpx">
      <movable-view class='box' style='width:{{box_width}}rpx' friction="{{100}}" direction="horizontal" x="{{x}}" damping="{{500}}" bindchange="drag" bindtouchend="dragOver">
        <view class='movable-icon'></view>
      </movable-view>
    </movable-area>
    <view class="black" style="width:{{text}}rpx"></view>
    <view class="movable_text"> 向右滑动验证</view>
</view>

wxss样式

.content {
  position: absolute;
  right: 50rpx;
  height: 90rpx;
  background-color: #4fca9b;
  color: white;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
}
.box {
  z-index: 45;
  height: 90rpx;
  background-color: transparent;
  border-radius: 50rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}
.movable-icon {
  z-index: 40;
  width: 120rpx;
  height: 90rpx;
  background-color: blue;
  border-radius:50rpx; 
  background-size: 100% 100%;
}
.black {
  z-index: 10;
  height: 90rpx;
  background-color: #acacac;
  position: absolute;
  right: 50rpx;
  border-radius: 50px;
}
.movable_text {
  font-size: 32rpx;
  z-index: 30;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  top: 50%;
}

js逻辑

Page({
  data: {
    // 滑块
    x: 0,
    area_width: 620, //可滑动区域的宽,单位是百分比,设置好后自动居中
    text: 620,
    box_width: 120, //滑块的宽,单位是 rpx
    maxNum: 620;
    coord: '',
  },
  onShow(){
      this.data.rpx = this.getRpx() // px与rpx的转换
  },
    getRpx(){
    var winWidth = wx.getSystemInfoSync().windowWidth;
    return 750 / winWidth;
  },
    // 滑块
  drag(e) {
    let rpx = this.data.rpx
    var coord = e.detail.x;
    let wid = this.data.maxNum - (coord) * rpx
    this.setData({
      coord: coord,
      text: wid
    })
  },
    // 滑块验证
  dragOver(e) {
    let rpx = this.data.rpx
    if ((this.data.coord) * rpx + this.data.box_width+5>= this.data.maxNum) {
      //验证成功之后的代码
    } else {
      this.setData({
        x: 0,
      })
    }
  },

这里是用了微信小程序的组件可移动的视图容器,有两层容器的嵌套,通过滑块的滑动,改变第二层的宽度,以达到拉链式的效果。

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

相关文章

  • js实现列表循环滚动

    js实现列表循环滚动

    这篇文章主要为大家详细介绍了js实现列表循环滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 微信小程序中网络请求缓存的解决方法

    微信小程序中网络请求缓存的解决方法

    这篇文章主要给大家介绍了关于微信小程序中网络请求缓存的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 在JavaScript中使用timer示例

    在JavaScript中使用timer示例

    这篇文章主要介绍了在JavaScript中如何使用timer,并给出各种测试case的例子,需要的朋友可以参考下
    2014-05-05
  • 分步解析JavaScript实现tab选项卡自动切换功能

    分步解析JavaScript实现tab选项卡自动切换功能

    这篇文章主要分步解析JavaScript实现tab选项卡自动切换功能代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 浅谈JS中的!=、== 、!==、===的用法和区别

    浅谈JS中的!=、== 、!==、===的用法和区别

    下面小编就为大家带来一篇浅谈JS中的!=、== 、!==、===的用法和区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • js实现多选项切换导航菜单的方法

    js实现多选项切换导航菜单的方法

    这篇文章主要介绍了js实现多选项切换导航菜单的方法,可实现动态生成多选项切换导航菜单的功能,是非常实用的技巧,需要的朋友可以参考下
    2015-02-02
  • js简单实现HTML标签Select联动带跳转

    js简单实现HTML标签Select联动带跳转

    Select联动带跳转的效果想必大家并不陌生吧,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-10-10
  • JS实现简单的tab切换选项卡效果

    JS实现简单的tab切换选项卡效果

    这篇文章主要介绍了JS实现简单的tab切换选项卡效果,涉及javascript结合鼠标事件对页面元素属性动态操作的相关技巧,需要的朋友可以参考下
    2016-09-09
  • javascript日期对象格式化为字符串的实现方法

    javascript日期对象格式化为字符串的实现方法

    本篇文章主要是对javascript日期对象格式化为字符串的实现方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 前端获取用户ip信息几种常见的方法

    前端获取用户ip信息几种常见的方法

    这篇文章主要介绍了几种在前端页面获取用户IP地址的方法,包括使用第三方服务、WebRTC API和服务器端获取,每种方法都有其优缺点,需要根据具体需求和场景选择合适的方法,需要的朋友可以参考下
    2025-02-02

最新评论